home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / rbbs / rbbs_doc.zip / RBBSDOC.ASC < prev   
Text File  |  1992-06-19  |  771KB  |  14,164 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.                             REMOTE BULLETIN BOARD SYSTEM
  13.  
  14.                                       for the
  15.  
  16.                                  Personal Computer
  17.                                     Version 17.4
  18.                            (includes all updates to 17.4)
  19.  
  20.                              Technical Reference Guide
  21.  
  22.  
  23.                              Technical Support Numbers
  24.  
  25.                                    (407) 487-3441
  26.                                    (407) 487-3442
  27.  
  28.                                 Copyright 1983-1992
  29.                                          by
  30.  
  31.                             D. Thomas Mack
  32.                             39 Cranbury Drive
  33.                             Trumbull, Connecticut 06611
  34.                             
  35.                             Ken Goosens
  36.                             5020 Portsmouth Road
  37.                             Fairfax, Virginia 22032
  38.                             DATA  #1,2,3 -- (703) 978-6360
  39.  
  40.                             Doug Azzarito
  41.                             2399 N.W. 30th Road
  42.                             Boca Raton, Florida 33431-6212
  43.                             DATA  #1 -- (407) 487-3441
  44.                                   #2 -- (407) 487-3442
  45.  
  46.                         Version 17.4 released: June 21, 1992
  47.  
  48.     RBBS-PC 17.4        TABLE OF CONTENTS (* = new or revised)           Page i
  49.  
  50.  
  51.     PREFACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   v
  52.  
  53.     1. INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
  54.          1.1 The Philosophy Behind RBBS-PC  . . . . . . . . . . . . . . . . 1-1
  55.          1.2 Distribution of RBBS-PC  . . . . . . . . . . . . . . . . . . . 1-1
  56.          1.3 The "Contributions" Requested for RBBS-PC  . . . . . . . . . . 1-1
  57.          1.4 How to Send Improvements . . . . . . . . . . . . . . . . . . . 1-4
  58.  
  59.     2. INSTALLING RBBS-PC . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
  60.          2.1 First Time Installation  . . . . . . . . . . . . . . . . . . . 2-1
  61.          2.2 * What's New In This Release?  . . . . . . . . . . . . . . . . 2-4
  62.          2.3 * Upgrading To The Newest Release  . . . . . . . . . . . . . . 2-7
  63.          2.4 * Common Problems Encountered Installing RBBS-PC . . . . . .  2-11
  64.  
  65.     3. "BASE-LINE" HARDWARE AND SOFTWARE REQUIREMENTS . . . . . . . . . . . 3-1
  66.  
  67.     4. RBBS-PC's SUPPORT POLICIES . . . . . . . . . . . . . . . . . . . . . 4-1
  68.          4.1 RBBS-PC's User Support Methods . . . . . . . . . . . . . . . . 4-1
  69.               Written documentation . . . . . . . . . . . . . . . . . . . . 4-1
  70.               "The Complete Electronic Bulletin Board Starter Kit"  . . . . 4-1
  71.               "RBBS-PC in a Box"  . . . . . . . . . . . . . . . . . . . . . 4-1
  72.               Network mail  . . . . . . . . . . . . . . . . . . . . . . . . 4-1
  73.               Technical Support BBS . . . . . . . . . . . . . . . . . . . . 4-1
  74.               Telephone support . . . . . . . . . . . . . . . . . . . . . . 4-1
  75.               Support Boards  . . . . . . . . . . . . . . . . . . . . . . . 4-1
  76.               Help by Topic . . . . . . . . . . . . . . . . . . . . . . . . 4-1
  77.               Professional Tech Support . . . . . . . . . . . . . . . . . . 4-2
  78.          4.2 RBBS-PC's Vendor Support Policy  . . . . . . . . . . . . . . . 4-2
  79.  
  80.     5. HOW TO GET A COPY OF RBBS-PC SENT TO YOU . . . . . . . . . . . . . . 5-1
  81.  
  82.     6. FILES RBBS-PC USES . . . . . . . . . . . . . . . . . . . . . . . . . 6-1
  83.          6.1 RBBS-PC Directory Structure  . . . . . . . . . . . . . . . . . 6-2
  84.          6.2 RBBS-PC System Files . . . . . . . . . . . . . . . . . . . . . 6-3
  85.          6.3 RBBS-PC's Graphics Support . . . . . . . . . . . . . . . . . . 6-5
  86.          6.4 RBBS-PC Text Files . . . . . . . . . . . . . . . . . . . . . . 6-6
  87.  
  88.     7. PLANNING YOUR USER INTERFACE . . . . . . . . . . . . . . . . . . . . 7-1
  89.          7.1 * Taking Callers Input:  Help, Command Stacking, and Hotkeys . 7-1
  90.          7.2 Menus Shown to Callers . . . . . . . . . . . . . . . . . . . . 7-2
  91.          7.3 Subsystem Prompts Shown to Callers . . . . . . . . . . . . . . 7-2
  92.          7.4 Commands Available to Callers  . . . . . . . . . . . . . . . . 7-3
  93.          7.5 RBBS-PC's "Wrap-around" Command Search . . . . . . . . . . . . 7-3
  94.          7.6 How to Have a Single Universal Command Line  . . . . . . . . . 7-4
  95.          7.7 RBBS-PC'S Programmable User Interface (PUI)  . . . . . . . . . 7-6
  96.               7.7.1 An Example Using PUI  . . . . . . . . . . . . . . . . . 7-6
  97.               7.7.2 How to Implement PUI  . . . . . . . . . . . . . . . . . 7-7
  98.          7.8 RBBS-PC's Support of Sub-menus . . . . . . . . . . . . . . . . 7-9
  99.               7.8.1 How to Implement Sub-menus  . . . . . . . . . . . . .  7-11
  100.               7.8.2 Shared Options Across Sub-menus . . . . . . . . . . .  7-11
  101.          7.9 RBBS-PC's "Macro" Command Support  . . . . . . . . . . . . .  7-12
  102.               7.9.1 How to Set Up "Macros"  . . . . . . . . . . . . . . .  7-13
  103.               7.9.2 Macro Commands  . . . . . . . . . . . . . . . . . . .  7-15
  104.               7.9.3 A Sample Macro  . . . . . . . . . . . . . . . . . . .  7-20
  105.               7.9.4 On-line Data Base With Macros & Questionnaires  . . .  7-20
  106.          7.10 RBBS-PC's "SmartText" Variables . . . . . . . . . . . . . .  7-23
  107.          7.11 "Colorizing" the RBBS-PC User Interface . . . . . . . . . .  7-25
  108.  
  109.     RBBS-PC 17.4        TABLE OF CONTENTS (* = new or revised)          Page ii
  110.  
  111.          7.12 RBBS-PC's Automatic Operator Page Option  . . . . . . . . .  7-27
  112.          7.13 Enhancing the File View Function  . . . . . . . . . . . . .  7-29
  113.          7.14 * Bulletins and News  . . . . . . . . . . . . . . . . . . .  7-30
  114.  
  115.     8. UNIQUELY IDENTIFYING YOUR CALLERS  . . . . . . . . . . . . . . . . . 8-1
  116.          8.1 Setting Up Identifying and Individuation Fields  . . . . . . . 8-1
  117.          8.2 Preloading Identities For Instant Access . . . . . . . . . . . 8-2
  118.  
  119.     9. RBBS-PC's AUTOMATIC SUBSCRIPTION/TIME MANAGEMENT . . . . . . . . . . 9-1
  120.          9.1 Setting It Up  . . . . . . . . . . . . . . . . . . . . . . . . 9-1
  121.          9.2 * Allocating Time in Blocks  . . . . . . . . . . . . . . . . . 9-2
  122.          9.3 * Banked Time  . . . . . . . . . . . . . . . . . . . . . . . . 9-2
  123.  
  124.     10. USING THE "CONFIG" UTILITY TO CONFIGURE RBBS-PC . . . . . . . . .  10-1
  125.          10.1 Global RBBS-PC Parameters (Part 1 of 3) . . . . . . . . . .  10-1
  126.          10.2 Global RBBS-PC Parameters (Part 2 of 3) . . . . . . . . . .  10-3
  127.          10.3 Global RBBS-PC Parameters (Part 3 of 3) . . . . . . . . . .  10-5
  128.          10.4 Parameters for RBBS-PC System Files (part 1)  . . . . . . .  10-8
  129.          10.5 Parameters for RBBS-PC System Files (part 2)  . . . . . . . 10-10
  130.          10.6 Parameters for RBBS-PC "Doors"  . . . . . . . . . . . . . . 10-13
  131.          10.7 Parameters for RBBS-PC's Security (part 1)  . . . . . . . . 10-14
  132.          10.8 Parameters for RBBS-PC's Security (part 2)  . . . . . . . . 10-16
  133.          10.9 Parameters for Multiple RBBS-PC's/Conferences . . . . . . . 10-18
  134.          10.10 RBBS-PC SysOp Utilities  . . . . . . . . . . . . . . . . . 10-20
  135.          10.11 RBBS-PC's File Management System Parameters  . . . . . . . 10-21
  136.          10.12 Communications Parameters (part 1) . . . . . . . . . . . . 10-24
  137.          10.13 Communications Parameters (part 2) . . . . . . . . . . . . 10-26
  138.          10.14 Parameters for RBBS-PC NET-MAIL  . . . . . . . . . . . . . 10-26
  139.          10.15 New Users Parameters . . . . . . . . . . . . . . . . . . . 10-28
  140.          10.16 Use of the Library Sub-System  . . . . . . . . . . . . . . 10-29
  141.          10.17 RBBS-PC's Parameters for Color . . . . . . . . . . . . . . 10-30
  142.  
  143.     11. MODEM SWITCH SETTING AND CONSIDERATIONS . . . . . . . . . . . . .  11-1
  144.  
  145.     12. RBBS-PC's FILE MANAGEMENT SUBSYSTEM . . . . . . . . . . . . . . .  12-1
  146.          12.1 Simple Directory Format . . . . . . . . . . . . . . . . . .  12-1
  147.          12.2 * The FMS Header Record . . . . . . . . . . . . . . . . . .  12-2
  148.          12.3 Advantages/Disadvantages of FMS Directory . . . . . . . . .  12-3
  149.          12.4 Creating FMS Directories  . . . . . . . . . . . . . . . . .  12-5
  150.          12.5 Defining the FMS Category Codes . . . . . . . . . . . . . .  12-7
  151.          12.6 * CD-Rom Support . . . . . . . . . . . . . . . . . . . . . . 12-8
  152.          12.7 The "Library" Subsystem, CD-ROM, and FMS  . . . . . . . . .  12-9
  153.               12.7.1 How the "Library" Subsystem Works  . . . . . . . . . 12-10
  154.               12.7.2 The "Library" Subsystem and PC-SIG's CD-ROM  . . . . 12-11
  155.          12.8 * Creating the Personal Files Directory . . . . . . . . . . 12-11
  156.          12.9 Automatically Checking & Converting Uploaded Files  . . . . 12-15
  157.          12.10 Fast File Search . . . . . . . . . . . . . . . . . . . . . 12-16
  158.  
  159.     13. SETTING UP ".BAT" FILES FOR RBBS-PC . . . . . . . . . . . . . . .  13-1
  160.          13.1 RBBS-PC's Startup Batch File  . . . . . . . . . . . . . . .  13-1
  161.          13.2 The Daily Event .BAT file . . . . . . . . . . . . . . . . .  13-2
  162.  
  163.     14. THE USE OF RBBS-PC "DOORS"  . . . . . . . . . . . . . . . . . . .  14-1
  164.          14.1 A Quick Start to Installing Doors . . . . . . . . . . . . .  14-1
  165.          14.2 The Major Problems with DOORS . . . . . . . . . . . . . . .  14-1
  166.               14.2.1 Redirecting I/O  . . . . . . . . . . . . . . . . . .  14-2
  167.               14.2.2 Exchanging Information . . . . . . . . . . . . . . .  14-3
  168.               14.2.3 Terminating After Carrier Loss . . . . . . . . . . .  14-3
  169.  
  170.     RBBS-PC 17.4        TABLE OF CONTENTS (* = new or revised)         Page iii
  171.  
  172.               14.2.4 Security . . . . . . . . . . . . . . . . . . . . . .  14-4
  173.          14.3 Invoking "DOOR"s Via The External Control File  . . . . . .  14-4
  174.          14.4 EXITing or SHELLing to "DOOR"s  . . . . . . . . . . . . . .  14-6
  175.          14.5 Resetting The User's Record Via a "DOOR"  . . . . . . . . .  14-6
  176.          14.6 A Summary of "DOOR"s  . . . . . . . . . . . . . . . . . . .  14-7
  177.  
  178.     15. THE SECURITY FEATURES OF RBBS-PC  . . . . . . . . . . . . . . . .  15-1
  179.          15.1 RBBS-PC's Security Features . . . . . . . . . . . . . . . .  15-1
  180.          15.2 Examples of Uses for RBBS-PC's Security System  . . . . . .  15-2
  181.          15.3 * How to Implement the Password File  . . . . . . . . . . .  15-3
  182.          15.4 Implementing Security for Download Files  . . . . . . . . .  15-5
  183.          15.5 Implementing Security for RBBS-PC Commands  . . . . . . . .  15-7
  184.          15.6 Beware of the "Trojan Horse!" . . . . . . . . . . . . . . .  15-8
  185.  
  186.     16. SYSOP FUNCTIONS . . . . . . . . . . . . . . . . . . . . . . . . .  16-1
  187.          16.1 SYSOP Commands Within RBBS-PC . . . . . . . . . . . . . . .  16-1
  188.          16.2 SysOp Use of Function Keys and Numeric Pad  . . . . . . . .  16-2
  189.          16.3 Local Status Display  . . . . . . . . . . . . . . . . . . .  16-4
  190.  
  191.     17. MESSAGE AREAS WITHIN RBBS-PC  . . . . . . . . . . . . . . . . . .  17-1
  192.          17.1 "Conferences" and "Sub-boards" -- the Differences . . . . .  17-1
  193.          17.2 Making a "Conference" or "Sub-board" Successful . . . . . .  17-3
  194.          17.3 Setting Up a "Conference" or "Sub-board"  . . . . . . . . .  17-4
  195.          17.4 Conference File Locations . . . . . . . . . . . . . . . . .  17-4
  196.          17.5 Establishing a "Conference" or "Sub-board" SysOp  . . . . .  17-5
  197.          17.6 * Carbon Copy . . . . . . . . . . . . . . . . . . . . . . .  17-6
  198.          17.7 * Linked Message Bases  . . . . . . . . . . . . . . . . . .  17-7
  199.  
  200.     18. * CALLERS AUTOMATIC NOTIFICATIONS OF MAIL/FILE WAITING  . . . . .  18-1
  201.  
  202.     19. RBBS-PC QUESTIONNAIRE FACILITIES  . . . . . . . . . . . . . . . .  19-1
  203.          19.1 Branching to Labels   . . . . . . . . . . . . . . . . . . .  19-2
  204.          19.2 Display Data Command  . . . . . . . . . . . . . . . . . . .  19-2
  205.          19.3 Display Data And Get Response . . . . . . . . . . . . . . .  19-3
  206.          19.4 Multiple Choice Response  . . . . . . . . . . . . . . . . .  19-3
  207.          19.5 Forward And Backward Branching  . . . . . . . . . . . . . .  19-4
  208.          19.6 Raise/Lower User's Security Level . . . . . . . . . . . . .  19-4
  209.          19.7 Abort Questionnaire . . . . . . . . . . . . . . . . . . . .  19-4
  210.          19.8 Chain Questionnaire . . . . . . . . . . . . . . . . . . . .  19-4
  211.          19.9 Turbo Keys  . . . . . . . . . . . . . . . . . . . . . . . .  19-5
  212.          19.10 Macro Execute  . . . . . . . . . . . . . . . . . . . . . .  19-5
  213.          19.11 Assign Value . . . . . . . . . . . . . . . . . . . . . . .  19-5
  214.  
  215.     20. RBBS-PC's STANDARD INTERFACE FOR PROTOCOL DRIVERS . . . . . . . .  20-1
  216.          20.1 Parameters passed to a protocol driver  . . . . . . . . . .  20-1
  217.          20.2 Calling external protocols using "templates"  . . . . . . .  20-4
  218.          20.3 Parameters Returned by a Protocol Driver  . . . . . . . . .  20-6
  219.          20.4 The Protocol Drivers Tested With RBBS-PC  . . . . . . . . .  20-6
  220.  
  221.     21. GOING MULTI-NODE *  . . . . . . . . . . . . . . . . . . . . . . .  21-1
  222.          21.1 * The Basic Strategies  . . . . . . . . . . . . . . . . . .  21-1
  223.          21.2 How to Set up RBBS-PC for Multi-Node Operation  . . . . . .  21-2
  224.          21.3 * How to Add Multiple Communciations Ports  . . . . . . . .  21-5
  225.  
  226.     22. UPLOADED FILE TIPS  . . . . . . . . . . . . . . . . . . . . . . .  22-1
  227.  
  228.     23. DUE WARNING AND SYSOP'S LEGAL LIABILITY . . . . . . . . . . . . .  23-1
  229.  
  230.     RBBS-PC 17.4        TABLE OF CONTENTS (* = new or revised)          Page iv
  231.  
  232.     24. COMPILING AND LINKING RBBS-PC . . . . . . . . . . . . . . . . . .  24-1
  233.  
  234.     25. LIMITED LICENSE . . . . . . . . . . . . . . . . . . . . . . . . .  25-1
  235.  
  236.     26. LIMITED WARRANTY  . . . . . . . . . . . . . . . . . . . . . . . .  26-1
  237.  
  238.     27. THE HISTORY BEHIND RBBS-PC  . . . . . . . . . . . . . . . . . . .  27-1
  239.  
  240.     28. PROPOSED RBBS-PC SYSOP CONFERENCE . . . . . . . . . . . . . . . .  28-1
  241.  
  242.     28. RBBS-PC, THE LARGEST SOFTWARE HOUSE IN THE WORLD  . . . . . . . .  29-1
  243.  
  244.     APPENDICES  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1
  245.          APPENDIX A -- * RBBS-PC Record Formats . . . . . . . . . . . . . . A-1
  246.          APPENDIX B -- RBBS-PC Software Registration  . . . . . . . . . . . B-1
  247.          APPENDIX C -- RBBS-PC Subscription Service . . . . . . . . . . . . C-1
  248.          APPENDIX D -- Modems with RBBS . . . . . . . . . . . . . . . . . . D-1
  249.               Introduction  . . . . . . . . . . . . . . . . . . . . . . . . D-1
  250.               Anchor Signalman Express (MK12) . . . . . . . . . . . . . . . D-1
  251.               Everex Evercom 2400 . . . . . . . . . . . . . . . . . . . . . D-1
  252.               FASTCOMM 2496 Turbo Modem . . . . . . . . . . . . . . . . . . D-1
  253.               Leading Edge Series L 2400B Modem . . . . . . . . . . . . . . D-3
  254.               MICROCOM AX\9624c . . . . . . . . . . . . . . . . . . . . . . D-4
  255.               Prometheus 2400G  . . . . . . . . . . . . . . . . . . . . . . D-5
  256.               USRobotics Courier and HST  . . . . . . . . . . . . . . . . . D-5
  257.               USRobotics HST Dual Standard  . . . . . . . . . . . . . . . . D-7
  258.               ZOOM Modem HC2400 . . . . . . . . . . . . . . . . . . . . . . D-7
  259.          APPENDIX E -- RBBS-PC and the Hearing-Impaired . . . . . . . . . . E-1
  260.          APPENDIX F -- RBBS-PC And The AT's RS-232 Cable  . . . . . . . . . F-1
  261.          APPENDIX G -- RBBS-PC And BASIC Compiler Patches for "Doors" . . . G-1
  262.          APPENDIX H -- RBBS-PC in a DESQview Environment  . . . . . . . . . H-1
  263.               1. Basic Hardware Considerations  . . . . . . . . . . . . . . H-1
  264.               2. Modifications to DOS CONFIG.SYS and RBBS-PC batch files  . H-1
  265.               3. What to Tell RBBS-PC's "CONFIG" Utility  . . . . . . . . . H-2
  266.               4. DESQview Setup Default Settings  . . . . . . . . . . . . . H-2
  267.               5. Adding RBBS-PC to DESQview's  "Open Window" Menu . . . . . H-3
  268.               6. Memory Considerations  . . . . . . . . . . . . . . . . . . H-3
  269.               7. Expanded Memory  . . . . . . . . . . . . . . . . . . . . . H-4
  270.               8. How to AUTOEXEC RBBS-PC From DESQview  . . . . . . . . . . H-4
  271.               9. Quarterdeck Utilities  . . . . . . . . . . . . . . . . . . H-4
  272.               10. Redirecting I/O Considerations (DOS CTTY Command) . . . . H-5
  273.               11. FOSSIL Drivers - Break the 2-node Barrier under
  274.                    DESQview!  . . . . . . . . . . . . . . . . . . . . . . . H-5
  275.               12. RBBS-PC Technical Support For DESQview  . . . . . . . . . H-8
  276.          APPENDIX I -- Using RBBS-PC with DoubleDOS . . . . . . . . . . . . I-1
  277.          APPENDIX J -- RBBS-PC in a MultiLink Environment . . . . . . . . . J-1
  278.          APPENDIX K -- RBBS-PC in a CORVUS Network  . . . . . . . . . . . . K-1
  279.          APPENDIX L -- RBBS-PC in ORCHID or AST PCnet NETWORK . . . . . . . L-1
  280.          APPENDIX M -- RBBS-PC in an Alloy PC-SLAVE/16 Environment  . . . . M-1
  281.          APPENDIX N -- RBBS-PC and 10 NET Network   . . . . . . . . . . . . N-1
  282.          APPENDIX O -- Running RBBS-PC on a NETBIOS network . . . . . . . . O-1
  283.          APPENDIX P -- RBBS-PC and the IBM PCjr . . . . . . . . . . . . . . P-1
  284.          APPENDIX Q -- Using RBBS-PC to access ORACLE or dBASE Remotely . . Q-1
  285.               Using dBASE "DOORS" with RBBS-PC  . . . . . . . . . . . . . . Q-1
  286.               Using ORACLE with RBBS-PC for On-line Data Base Access  . . . Q-3
  287.          APPENDIX R -- Using RBBS-PC with SEAdog to Access FIDO-NET . . . . R-1
  288.          APPENDIX S -- DOS Limitation on Running Programs Remotely  . . . . S-1
  289.          APPENDIX T -- Recompiling RBBS-PC to Reduce Memory Required  . . . T-1
  290.  
  291.     PREFACE                                                              Page v
  292.  
  293.     PREFACE
  294.     -------
  295.     This document discusses  the technical  aspects of installing,  configuring
  296.     and running  RBBS-PC.  You  should already  be familiar with  the following
  297.     subjects in  order  to fully  understand  the concepts  presented  in  this
  298.     document:
  299.  
  300.        - DOS file organization
  301.        - DOS Batch files
  302.  
  303.     Consult your  DOS command  and technical  references for  details on  these
  304.     items.
  305.  
  306.     You may also  need to have your  modem manual handy,  to help with  getting
  307.     your modem to work properly with RBBS-PC.
  308.  
  309.     Conventions:
  310.     ------------
  311.     This manual makes extensive use of examples.  The following conventions are
  312.     used:
  313.  
  314.        - Items in CAPS are to be entered as shown.
  315.        - Items in lowercase, or surrounded in <.> are "replaceable" parameters.
  316.        - Filenames with "wild cards"  represent a group of files.   The "*" and
  317.          "?"  wildcards  are  used as  in  DOS.    "?"  represents  any  single
  318.          character, while "*" represents one or more characters.
  319.  
  320.     Tools you will need:
  321.     --------------------
  322.     To install and configure RBBS-PC, you will need a TEXT editor that can edit
  323.     DOS  text  files.   Most  word  processors  embed "control"  characters  in
  324.     documents,  but  also allow  documents  to  be saved  in  "ASCII"  or "non-
  325.     document"  mode.    RBBS-PC's  text  files  can  have  no TABS  or  control
  326.     characters (other than ANSI color commands) in them.
  327.  
  328.     You will  also find it useful to  have a "test" computer  available, with a
  329.     separate phone  line.  In this way,  you can call your RBBS-PC  and see the
  330.     connection from  both ends.   While not  essential, a  test machine  can be
  331.     extremely helpful during configuration.
  332.  
  333.     About this Document:
  334.     --------------------
  335.     This document was created using Word  Perfect 5.1.  It represents the  work
  336.     of many contributors.  Version 17.4 was edited by Ken Goosens, and  17.3 by
  337.     Doug Azzarito.   Your comments and suggestions  are welcome.  If  you would
  338.     like a  copy of this  document in Word Perfect  format (to format  it for a
  339.     specific printer), contact the authors on the BBS listed on the title page.
  340.  
  341.     INTRODUCTION                                                       Page 1-1
  342.  
  343.     1. INTRODUCTION
  344.     ---------------
  345.     RBBS-PC is a Remote  Bulletin Board System for  the IBM personal  computer,
  346.     hence the  name  RBBS-PC.    RBBS-PC's  primary  application  is  a  "host"
  347.     communications package.  This allows a System Operator (SysOp) to set  up a
  348.     computer that lets "remote" callers use it for many functions, including:
  349.  
  350.          - the dissemination of news and bulletins
  351.          - electronic mail between users
  352.          - exchange of programs and data
  353.          - taking surveys and placing on-line purchase orders
  354.          - or playing games.
  355.  
  356.     RBBS-PC is a "full featured" bulletin board system that not only supports a
  357.     broad  range  of  functions,  but  runs  "multi-user"  under  networks  and
  358.     multi-taskers.  RBBS-PC  can also run as a "local" application in which the
  359.     "user" does not connect  through a telephone line, such as  on a local area
  360.     network.
  361.  
  362.     1.1 The Philosophy Behind RBBS-PC
  363.     ---------------------------------
  364.     RBBS-PC  is  given  away  freely,  with  source  code.    Its  authors  and
  365.     contributors neither ask for nor receive any money for their work.  RBBS-PC
  366.     is "Userware", meaning that it  is supported and enhanced by  the community
  367.     of people using it, who believe that what  is shared becomes better than it
  368.     was.   It is  hoped that RBBS-PC  will be used  as a catalyst  for the free
  369.     exchange   of  information,   an  educational  example   of  communications
  370.     programming, and an irrepressible  political force that  puts the power  of
  371.     information in the hands of the many.
  372.  
  373.     1.2 Distribution of RBBS-PC
  374.     ---------------------------
  375.     Each  new version  of  RBBS-PC is  initially sent  to the  CPCUG's Software
  376.     Exchange for distribution.   CPCUG is a  Maryland Corporation whose  "legal
  377.     name" is the  Capital PC User Group,  Inc.  The CPCUG  is an all-volunteer,
  378.     non-profit  organization  according to  Section  501C3, Social  Welfare, of
  379.     federal law.   All revenues are  re-invested in and applied  toward CPCUG's
  380.     education programs.
  381.  
  382.     There is no fee  at all for using or distributing RBBS-PC.   Indeed, no one
  383.     can charge for its use or  distribution, though user groups and  commercial
  384.     distributors of software can  recover their costs  but not charge  anything
  385.     for RBBS-PC itself.
  386.  
  387.     RBBS-PC can also be downloaded from hundreds of bulletin boards across  the
  388.     country.  If the BBS you  are calling is running RBBS-PC, chances  are good
  389.     they will also have the files in their library.
  390.  
  391.     1.3 The "Contributions" Requested for RBBS-PC
  392.     ---------------------------------------------
  393.     RBBS-PC lives  and dies  by the  unremunerated contributions  of it's  user
  394.     community.  Four types of "contributions" are requested for RBBS-PC:
  395.  
  396.          A.  Modifications  to   RBBS-PC,  itself,  that  are   documented  and
  397.          distributed  as .MRG  files against  the "base-line" source  code that
  398.          other SysOps might elect to incorporate into their version of RBBS-PC.
  399.          Remember that RBBS-PC can  be distributed in  modified form only  with
  400.          permission.   Distributing a  modified EXE  (executable) file  without
  401.  
  402.     RBBS-PC 17.4           TECHNICAL REFERENCE MANUAL                  Page 1-2
  403.  
  404.          permission violates both the RBBS-PC copyright and the limited license
  405.          granted with it's use.
  406.  
  407.          B. Publicly distributable software.  It can either be "public  domain"
  408.          (i.e. software which the author has relinquished all rights and  which
  409.          may  be  appropriated by  anyone  for use  in  any  way), or  publicly
  410.          distributable software (i.e. software in which the author has retained
  411.          the  rights and  which may  only be  used according to  the conditions
  412.          under which the author has designated).
  413.  
  414.          C. Equipment  or services.   If you  or your  organization can  donate
  415.          equipment,  software,  supplies, or  services  to support  the RBBS-PC
  416.          development effort, feel  free to do so.   Contact any of  the authors
  417.          (listed  on the title  page of this  document) if you  wish to discuss
  418.          equipment donations.
  419.  
  420.          D. Money  -  the last  level  of "contribution".    Money is  the  one
  421.          commodity  that  we  are  willing  to  exchange  without  first having
  422.          obtained the  respect or  consideration of  the other  party.   It  is
  423.          perhaps the easiest to give as it exonerates us from the  other levels
  424.          of "contribution."  RBBS-PC development is an all volunteer effort, so
  425.          money is  never plentiful.   However, when  equipment donation  is not
  426.          possible, spare cash  can often buy a piece  of hardware that requires
  427.          experimentation before RBBS-PC can support it.  Remember, money is not
  428.          the best  or even  the second-best  type of  "contribution" you  could
  429.          make.
  430.  
  431.     Independent  of  any   donations  of  enhancements  to   RBBS-PC,  publicly
  432.     distributable  software, equipment,  services, supplies,  or  money, please
  433.     consider becoming a member  of CPCUG.  Simply send your  name, address, and
  434.     phone number  along with $35  to CPCUG, 51  Monroe Street, Plaza  East Two,
  435.     Rockville, MD 20850 or call their membership hot line at (301) 670-1737.
  436.  
  437.     If in the final analysis you feel that you can do none of the above,
  438.  
  439.          - remember those who have,
  440.          - enjoy what they have nurtured, and
  441.          - keep the faith with those who have gone before you.
  442.  
  443.     RBBS-PC is what  it is today only  because of the  freely donated time  and
  444.     work  of  many  contributors.    Contributions have  included  suggestions,
  445.     software  fixes,  significant  enhancements,  improved  documentation,  and
  446.     utilities.    Some of  the  individuals  named  here have  continued  their
  447.     contributions to RBBS-PC even to the current release.  Others have  gone on
  448.     to pursue different  interests.  But whether mentioned  below or not, their
  449.     contributions live  on in  RBBS-PC.   In their  contributions to  RBBS-PC's
  450.     on-going growth,  each has  paused to  give of  themselves without hope  of
  451.     reward  by  practicing RBBS-PC's  fundamental  principle --  "users helping
  452.     users."
  453.  
  454.     While we  have met  very few  of these  people personally,  those names  we
  455.     remember are:
  456.  
  457.      Walter Ames          Ray Horton            Harvey Pierce
  458.      Doug Azzarito        Gary Howrith          Danny Plunkette
  459.      Jeff Batdorf         Charlie Innusa        Lee Pollard
  460.      Rod Bowman           Loren Jones           Jeff Porter
  461.  
  462.     INTRODUCTION                                                       Page 1-3
  463.  
  464.      Matthew Briggs       Larry Jordan          James Reinder
  465.      Randy Brodersen      Robert Jueneman       Joel Ricketts
  466.      Mike Brown           Vern Kallegin         Kurt Riegel
  467.      Sam Brown            Dave Kleinschmidt     Jacques Rodrique
  468.  
  469.      Mike Button          Steven Kling          Dick Rohradnz
  470.      Vince Castelli       Kim Kodde             Rich Schinnell
  471.      Rob Cecchino         Blaine Korcel         Mark Seiden
  472.      Tom Collins          Ronald Koridon        Rosemarie Siddiqui
  473.      Drew Commins         John Krytus           Andrew Silber
  474.  
  475.      Ezra Conger          Mark Lautenschlager   Carl Slaughter
  476.      Ed Copley            Steve Lieber          Samuel H. Smith
  477.      Richard Couture      Steven Linhart        Gregg Snyder
  478.      Bob Cramer           Joseph Lionelle       Robert Snyder
  479.      Dave Crane           Scott Loftesness      Carl Spencer
  480.      Darrel Damon         Harry Logan           David Staehlin
  481.  
  482.      Everett Delano       Gene Lowry            Stan Staten
  483.      Francis Dorer        James Ludwick         Terry Steichen
  484.      Peter Eibl           Kevin Lutz            Dorn Stickle
  485.      Warren Fox           D. Thomas Mack        Randy Sun
  486.      John Friel           Robert Mahoney        Terry Taylor
  487.  
  488.      Jim Fry              Matt Malden           Jan Terpstra
  489.      Asa Fulton           Carl Margolis         Arnold Thomsen
  490.      Kent Galbraith       Sidney Markowitz      Daan van der Weide
  491.      Mitch Geier          Jon Martin            Rick Wadowski
  492.      John German          Louie McCaw           Clark Walker
  493.      Read Gilgen          Wes Meier             Kim Wells
  494.  
  495.      Gary Glueckert       John Morris           Bob Westcott
  496.      Ken Goosens          Bill Newkirk          Robert White
  497.      Ray Gwinn            Jeregen Nordhausen    Yew Seng Tan
  498.      Dave Hacquebord      Vince Perriello
  499.      Tom Hansen
  500.      Steve Harrison
  501.  
  502.      Gary Hoff
  503.  
  504.     To  those whose  names have not  been mentioned --  apologies are extended.
  505.     Take comfort in knowing that you live on in the work that you have wrought.
  506.     Special  thanks goes to SysOps who  helped sponsor enhancements to RBBS-PC,
  507.     including  Ken Rogers of the United  States Department of Commerce ECONOMIC
  508.     BULLETIN   BOARD   who    encouraged   configurable   identification    and
  509.     individuation, Loren  Jones of  The Center  for  Law and  Computers at  the
  510.     Illinois   Institute  of  Technology's  Chicago-Kent  College  of  Law  who
  511.     contributed to subscription  support, John Rittwage of the American College
  512.     of  Obstetricians and  Gynecologists who  helped support  submenus and  the
  513.     programmable user interface, and Brian Kelly of  National Credit Appraisals
  514.     and  Reporting, whose  special needs prompted  the development  of personal
  515.     downloading.
  516.  
  517.     In  an age  of cynicism,  RBBS-PC and  the Userware  concept represents  an
  518.     opportunity  for each of us  to give back  to the world  something a little
  519.     better than when we found it, and is  something that the authors of RBBS-PC
  520.     believe in strongly.  To each of the contributors to RBBS-PC, we would like
  521.     to say personally, "We are very proud of the company that RBBS-PC keeps."
  522.  
  523.     RBBS-PC 17.4           TECHNICAL REFERENCE MANUAL                  Page 1-4
  524.  
  525.     1.4 How to Send Improvements
  526.     ----------------------------
  527.     RBBS-PC continues  to  evolve and  be  "debugged."   The  following  coding
  528.     conventions have been  helpful in the past and you are requested to observe
  529.     them in the future:
  530.  
  531.     Updates consist of two types  of ASCII files.   One called *.MRG which  are
  532.     the  BASIC  source  statements  for the  particular  base-line  source code
  533.     component of RBBS-PC to be updated.   The lines that have been modified are
  534.     indicated as being so modified with a comment beginning in column 70 in the
  535.     format as follows:
  536.  
  537.     4330 CALL QuickTPut("This line has been changed!",1)          ' DA091402
  538.  
  539.     The comment in column 70 consists of  the changer's initials, the month and
  540.     day of the change, and a sequence number.  Thus, the comment DA091402 means
  541.     Doug Azzarito made this  change on Sept 14th, and it  was the second change
  542.     he made that day.
  543.  
  544.     These  .MRG files  can be  applied  to the  base-line source  code  via Ken
  545.     Goosens' Batch Line  EDitor utility program (BLED).   The BLED utility  can
  546.     easily create  .MRG files  as it  has both  a file  compare and  file merge
  547.     function  that  is   specifically  geared  to  the  new   BASIC  compiler's
  548.     capabilities that allow lines of source to be unnumbered.
  549.  
  550.     The second file type is called *.DOC.  It describes on a line-by-line basis
  551.     the specific functions added  or bug that was fixed.  The .DOC file is what
  552.     allows us to integrate  several .MRG files  and resolve whatever  conflicts
  553.     that may exist.
  554.  
  555.     Each incremental release of RBBS-PC beyond 17.4 will include updates to the
  556.     base-line documentation.  When possible, these updates  will be in the form
  557.     of replacement pages to be inserted in the baseline documentation.
  558.  
  559.     The RBBS-PC naming conventions are roughly as follows:
  560.  
  561.     1. If a  significant change to source  code or logic occurs, the  first two
  562.     digits of the release level will change (i.e.  14.1 was followed by  15.1).
  563.     Such  changes  usually  include  system  file format  changes  requiring  a
  564.     "reconfiguration."
  565.       
  566.     2.   If a  new feature  or enhancement  is  added the  digit following  the
  567.     decimal point is  incremented by  one (i.e.  17.2B was  followed by  17.3).
  568.     These changes usually do NOT require "reconfiguration."
  569.  
  570.     3.  If a "bug" is being fixed, the  letter at the end of the version number
  571.     is incremented  (i.e. 17.2A  was followed by  17.2B).   These "maintenance"
  572.     releases contain no  new significant  features, but  often fix  troublesome
  573.     bugs in the previous version.   With each maintenance release, a .MRG  file
  574.     name such as 17-3A.MRG and a corresponding 17-3A.DOC file will describe the
  575.     changes.  The first maintenance version is always "A".  
  576.  
  577.     4.  As bugs are reported and  fixes found for the current release of  RBBS-
  578.     PC, the source  code corrections are distributed via  an RFIXmmdd.ZIP file.
  579.     This contains the necessary  files to apply  the "temporary fixes"  against
  580.     the  released version of  the source code  and re-compile the  source code.
  581.     The recompiled .EXE files are distributed via a file named RFIX-EXE.ZIP.
  582.  
  583.     INTRODUCTION                                                       Page 1-5
  584.  
  585.     The purpose of these conventions is to allow everyone to know what  RBBS-PC
  586.     level  they  are  running  under  and  understand  the  logic  behind   the
  587.     changes/fixes as they  occur so each  SysOp can evaluate  them for his  own
  588.     needs.  When you logon to RBBS-PC the version will be displayed.
  589.  
  590.     If  you have  comments or fixes,  please let  us know  so that they  can be
  591.     reflected in the RBBS-PC program and shared with all  other users.  You can
  592.     do that by sending your changes by mail to:
  593.  
  594.                                     Ken Goosens
  595.                                 5020 Portsmouth Road
  596.                               Fairfax, Virginia 22032
  597.  
  598.     or uploading the changes to Ken Goosens' BBS at 703-978-6360.
  599.  
  600.     All  comments and suggestions  are welcome,  but those  that are  come with
  601.     source code changes carry more weight.
  602.  
  603.     INSTALLING RBBS-PC                                                 Page 2-1
  604.  
  605.     2. INSTALLING RBBS-PC
  606.     ---------------------
  607.     RBBS-PC is a powerful application that may take months to master fully, but
  608.     gives those who stick with it  a practically ever expanding power as  their
  609.     knowledge and needs grow.  But it is not necessary to understand everything
  610.     or  take advantage of  all its power,  before it  can be set  up initially.
  611.     This section is intended  to provide a step-by-step approach  to setting up
  612.     RBBS-PC.   Follow  the steps  thoughtfully!   Do not proceed  to subsequent
  613.     steps until you understand all the previous steps.
  614.  
  615.     Our goal with persons getting started with RBBS-PC for the first time is to
  616.     get them off to a fast start by (a)  bringing up the software to see how it
  617.     runs,  and (b)  getting  the software  to  be able  to  answer an  incoming
  618.     telephone  call.  A BBS strongly reflects  the interests and personality of
  619.     it's SysOp, and RBBS-PC is one of the most flexible and customizable of the
  620.     BBS's.
  621.  
  622.     However, for  those who  are NOT  familiar with  electronic bulletin  board
  623.     systems in general, a good introduction to installing RBBS-PC is  contained
  624.     in the  book "Electronic Bulletin Board  Starter Kit" by Charles  Bowen and
  625.     David Peyton, published by  Bantam Books.  The book does in  436 pages what
  626.     the next few pages attempt to do.  It is a superb guide for someone who has
  627.     never  setup a bulletin  board system or  is not knowledgeable  about PC or
  628.     asynchronous communications.   The  book comes  complete with an  extensive
  629.     index  as  well as  a copy  of RBBS-PC  Version 15.1C  and, of  course, the
  630.     associated  source  code.    Since  all  versions  of  RBBS-PC  are  upward
  631.     compatible, this book serves equally well as a guide for the uninitiated to
  632.     all subsequent  versions of RBBS-PC.  This  book guides the potential SysOp
  633.     in easy stages from unwrapping the two diskettes that are included with the
  634.     book to  operating the  more advance  features of  RBBS-PC.   The book  was
  635.     published by Bantam Books in August of 1988, ISBN 0-553-34552-4, and can be
  636.     found in  most technical book and computer stores.   It addresses the topic
  637.     of installing an electronic bulletin board system  in a far better way than
  638.     this "Technical Reference Guide" does.
  639.  
  640.     Because RBBS-PC attempts  to provide SysOps the maximum  flexibility, it is
  641.     perfectly possible for those setting RBBS-PC up for the first time to shoot
  642.     themselves in the  foot.  Be patient  with yourself.  Remember  that things
  643.     worth achieving usually are not obtainable without effort.
  644.  
  645.     2.1 First Time Installation
  646.     ---------------------------
  647.     Do  not try  to do  everything at  once.   Keep things  simple and  proceed
  648.     patiently, a  step at a time, putting  only one thing in place.   The files
  649.     you  need  are  the  executables  (RBBS-EXE.ZIP)  and  system  text   files
  650.     (RBBS-TXT.ZIP).  RBBS-PC comes completely set  up, ready to run.    To take
  651.     advantage of this set up, you must do the following:
  652.  
  653.     1.   Create a new  subdirectory on the hard drive of your computer.  "RBBS"
  654.          is a suggested name but any can be used.  The DOS command  to make the
  655.          directory is "MD \RBBS".
  656.  
  657.     2.   Copy the  zipped files into the subdirectory.   You must have at least
  658.          RBBS-EXE.ZIP  and RBBS-TXT.ZIP.   The  DOS  command to  copy is  "COPY
  659.          <from> <to>", e.g. "COPY A:*.ZIP C:\RBBS".
  660.  
  661.     3.   Make the subdirectory you created your current one  ("CD \RBBS").
  662.  
  663.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page 2-2
  664.  
  665.     4.   Unzip the files using the command "PKUNZIP -d *".   You need to obtain
  666.          a copy of the program "PKUNZIP.EXE" to do this.
  667.  
  668.     Subdirectories will be created off the current directory.
  669.  
  670.     5.   Enter the  command: INSTALL.   This program  will check  the directory
  671.          structure, and inform you if any  files are missing or misplaced.   It
  672.          also makes sure the  RBBS-PC configuration matches  your system.   The
  673.          file  INSTALL.LOG  will contain  information  about files  the install
  674.          procedure could not find, or had to move.  While many of the files are
  675.          OPTIONAL, consult  this log  if you  later encounter  problems running
  676.          RBBS-PC.
  677.  
  678.     You  are  now  ready  to  run  RBBS-PC!    RBBS-PC  comes  with   a  sample
  679.     configuration file, and small but empty users  and messages file.  To bring
  680.     up RBBS-PC, at the DOS prompt, type
  681.  
  682.                         RBBS[Enter]
  683.  
  684.     where "[Enter]" means to  press the "Enter" key.  RBBS is a batch file that
  685.     runs RBBS-PC, and also controls certain  RBBS-PC maintenance functions (see
  686.     section 13 for details).  In this first run, RBBS-PC does not to wait for a
  687.     telephone call to establish communications through a serial port, but  just
  688.     runs as  a local application, communicating with you through the screen and
  689.     keyboard.   You  should see a  copyright notice  first, then a  "WELCOME TO
  690.     RBBS-PC", a short message about a "prelog", and then be asked "What is your
  691.     First Name?"   What you see on your  screen beginning with the "WELCOME" is
  692.     exactly the  same  as a  remote caller  on the  telephone  line would  see.
  693.     Instead of  your real name, enter SECRET NAME[ENTER].   This is the "secret
  694.     SysOp name" for the sample system.  Next, answer the questions RBBS-PC asks
  695.     you and look around.  Your only goal at this point is to make sure that the
  696.     software runs on your computer.
  697.  
  698.     The next goal is  to get RBBS-PC to answer an incoming call.  This requires
  699.     a functioning communications port,  modem, and telephone  line, as well  as
  700.     more configuration information in  RBBS-PC.  There are five things you must
  701.     normally do in preparation:
  702.  
  703.     (1)  Set the RBBS-PC modem commands properly for your modem, especially the
  704.          modem initialization  string and  firmware initialization  string (See
  705.          CONFIG parameter 225).
  706.  
  707.     (2)  Set the  hardware switches  on the  modem properly,  but some  modems,
  708.          especially "internal" modems, may have no hardware switches.
  709.  
  710.     (3)  Set  the communications  port to what  the modem is  using (see CONFIG
  711.          parameter 221).
  712.  
  713.     (4)  Initialize the modem's  firmware.   This makes  permanent the settings
  714.          that RBBS-PC needs (see CONFIG parameter 231).
  715.  
  716.     In  the best  of all  worlds, the factory  settings of  the modem  are what
  717.     RBBS-PC wants and  RBBS-PC's default settings work, so that  nothing at all
  718.     must be changed.  This is normally the case for the USR Courier 2400 modem.
  719.  
  720.     Your key  to setting  everything up  is the  RBBS-PC configuration  program
  721.     called "CONFIG.EXE".   CONFIG is your guide to configuring RBBS-PC for your
  722.     preferences  and environment,  and basically  is  just a  smart editor  for
  723.  
  724.     INSTALLING RBBS-PC                                                 Page 2-3
  725.  
  726.     setting up RBBS-PC.  RBBS-PC stores its configuration parameters in a  file
  727.     called "RBBS-PC.DEF".  To edit configuration file RBBS-PC.DEF, just type
  728.  
  729.                        CONFIG RBBS-PC.DEF[Enter]
  730.  
  731.     You will see  a copyright notice, CONFIG  will read in the  current values,
  732.     and then you will see a table of  contents for the many pages of parameters
  733.     you can  set.  There are over 300 parameters  you can set in RBBS-PC, which
  734.     can be extremely  complex.   Most you  will never change,  but RBBS-PC  has
  735.     tremendous power and flexibility if and when  you do need it.  You can just
  736.     press the page  down key "PgDn" to  see the many screens of  parameters, if
  737.     you want to  browse.   Do not  be intimidated.   RBBS-PC,  as shipped,  has
  738.     nearly all  of these parameters  set for you.   For more  information, read
  739.     section 10.
  740.  
  741.     Once you have set the modem  parameters in CONFIG, and saved your  changes,
  742.     you are  ready to make  sure that RBBS-PC will  answer incoming calls.   Be
  743.     sure you have your modem connected and on.  Then type
  744.  
  745.                             RBBS[Enter]
  746.  
  747.     You should see a copyright screen.   RBBS-PC will draw a screen with boxes.
  748.     The modem lights should flash, and RBBS-PC should display "Ready for Calls"
  749.     in a box.  Four lights on an external modem will normally be on: High Speed
  750.     (HS), Auto  Answer  (AA),  Modem  Ready  (MR),  and  Terminal  Ready  (TR).
  751.     Ideally, you  have a  second computer  beside the  first with  a modem  and
  752.     telephone line that you  can use to call the BBS.  Otherwise, have a friend
  753.     with a computer call it.   You need to call with a modem  to make sure that
  754.     the two modems will talk.  When the call comes in, the  Ring Indicator (RI)
  755.     should blink.  Then the Off Hook (OH) and Carrier Detect (CD) lights should
  756.     come on as  the modems link.   And RBBS-PC should chip in  with its opening
  757.     "WELCOME TO"  line, and the send (SD) and  receive (RD) lights should blink
  758.     periodically.   If the  lights blink but  you see nothing, you  may need to
  759.     turn  on "snoop" so you can see the  session on your local terminal.  Press
  760.     F9.  If that  doesn't do anything, press  it again.  After the  caller says
  761.     "Goodbye", RBBS-PC should recycle, the CD and OH lights go off, and the box
  762.     reappear that finally says it is again ready for calls.
  763.  
  764.     Once you  have RBBS-PC answering calls, you  are ready to begin customizing
  765.     the board, setting it  up the way you want, and adding  features.  You need
  766.     two primary  tools: CONFIG.EXE  (part of the  RBBS-PC package), and  a full
  767.     screen  editor  (which  you  must supply).    You  need  what  is called  a
  768.     "programmer's" editor versus  a word processor - one that only puts in what
  769.     you type  and never  inserts any  hidden or  special characters  - what  is
  770.     sometimes called as straight "ASCII" editor.
  771.  
  772.     Here we will walk you through what is behind what the caller sees on logon.
  773.     The first message is  "WELCOME TO " followed by  the name of the board,  as
  774.     specified in CONFIG parameter 12.
  775.  
  776.     Next the file  PRELOG is  displayed.  This  file need not  be present,  and
  777.     generally should be brief, as it is displayed on every call.
  778.  
  779.     Callers are then asked  to identify themselves,  by answering the  question
  780.     "What is your FIRST name?"  The text after "your" can be set up with CONFIG
  781.     parameter 45,  though most  SysOps do  not change  it (e.g.  "What is  your
  782.     ACCOUNT ID?").   The next question is "What is  your LAST name?", which can
  783.     be set in parameter 46.
  784.  
  785.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page 2-4
  786.  
  787.     If the caller is not in the user's file, which normally means  that this is
  788.     a new,  first time  caller,  then RBBS-PC  displays  the text  file  called
  789.     NEWUSER.   Here you should  explain the  board and the  rules you  have for
  790.     people to follow.
  791.  
  792.     Callers next  see a  welcome  specific to  their security  level, called  a
  793.     "logon level  greeting file".   These files take  the form LGnn.DEF,  where
  794.     "nn" is  their security  level (e.g. level  10 callers  would see  the file
  795.     LG10.DEF, if it  is present  in the  default directory).   Then, a  general
  796.     "welcome" file is  displayed.  The general welcome file shown to the caller
  797.     can be changed  "on the fly" by RBBS-PC, dependent on what sort of Graphics
  798.     option the caller has selected.   SysOps often use this for  an ANSI log-in
  799.     screen.
  800.  
  801.     There are many other  things in RBBS-PC  you will want to  set up, such  as
  802.     bulletins,  news,  and conferences.    Just  remember  to take  your  time.
  803.     RBBS-PC almost always runs  the FIRST time.  Make one change  at a time and
  804.     then test it so you don't break something that once worked.
  805.  
  806.     2.2 What's New In This Release?
  807.     -------------------------------
  808.     Each new  release of  RBBS-PC, version 17.4  (17.4A, 17.4B,  etc.) contains
  809.     fixes  and enhancements  to RBBS-PC.    Releases ending  with a  letter are
  810.     considered  "maintenance releases" to RBBS-PC  17.4.  With each maintenance
  811.     release,  you will  find text  files that  describe any  new  features, and
  812.     instructions on how to upgrade from a previous release.
  813.  
  814.     The area of greatest enhancement in 17.4 is the messaging system.  The new
  815.     changes allow the BBS to be used much more effectively for
  816.  
  817.        o group mail.  The same message can be sent to multiple people, and only
  818.          one copy is kept.   The SysOp can set up distribution lists.
  819.  
  820.        o exchange of personal files as well as mail.   Uploads can be addressed
  821.          privately to people, with descriptions viewable only by them.   People
  822.          will get notification of  new uploads on logon, and the  SysOp can set
  823.          up distribution lists.
  824.  
  825.        o large conferencing.    Message  read operations  can operate  globally
  826.          over linked  message  bases, with  default  linking on  logon  of  all
  827.          conferences in which the person belongs that have any new mail.
  828.  
  829.     Specifically, the major changes are:
  830.  
  831.     1.   The same message can  be sent to up to 255 individuals, either by name
  832.          or distribution list.
  833.  
  834.     2.   Messages based can be  linked together so  that message read  commands
  835.          operate  globally across  linked  conferences.     Conferences can  be
  836.          linked individually, or based on new mail, or new personal mail.
  837.  
  838.     3.   The utilities  B)aud change has  been replaced by  B)ank time.    This
  839.          lets the caller deposit time into a bank, to withdraw on later callers
  840.          to increase session time.
  841.  
  842.     4.   The SysOp can view the caller's file for any node.
  843.  
  844.     INSTALLING RBBS-PC                                                 Page 2-5
  845.  
  846.     5.   Personal files can be uploaded to an individual, multiple individuals,
  847.          or to  a distribution list.   Caller  with personal upload is notified
  848.          on logon of files waiting.
  849.  
  850.     6.   Any FMS directory can be made to limit downloads to only those listed 
  851.          in the  directory, can be exempted from  ratios (free), and give extra
  852.          time for downloading, or  be made a personal directory  where the file
  853.          is directed to any individual.
  854.  
  855.     7.   The file search, new,  and list commands all work for the  personal   
  856.          directory.
  857.  
  858.     8.   Files can be Marked for later downloading and viewing as a group. 
  859.  
  860.     9.   Messages can be Marked for later reading and killing as a group.  
  861.  
  862.     10.  The config functions  to check personal and FMS  directories have been
  863.          enhanced to detect  more problems, including messed up  file names and
  864.          trash  at the end of  the file.    These checks  can also be  run on a
  865.          NetBios network without bringing down the BBS nodes running.
  866.  
  867.     11.  The  SysOp can  change the  #  of minutes  the  caller has  used.   By
  868.          changing it to  a negative #, the  caller is given bonus  minutes over
  869.          and above the normal session time, until the bonus is finally used up.
  870.  
  871.     12.  Download time estimates are  now correct even  when modems report  the
  872.          modem-to-pc  speed  in   the  CONNECT  message.       The  carrier  or
  873.          modem-to-modem speed is detected and can be passed from a front end.
  874.  
  875.     13.  The caller and SysOp can now change the city/state.
  876.  
  877.     14.  The documentation was  enhanced to show how  to set up RBBS-PC  with 8
  878.          com ports on the DigiBoard Digichannel.
  879.  
  880.     15.  Download time estimates are  now correct even  when modems report  the
  881.          modem-to-pc  speed  in  the  CONNECT  message.      The  carrier,   to
  882.          modem-to-modem speed, is detected and can be passed from a front end.
  883.  
  884.     Lesser enhancements include
  885.  
  886.     1.   Logging out  for  keyboard inactivity  now  counts down  the  last  30
  887.          seconds.
  888.  
  889.     2.   The SysOp  can suppress or  shorten the display of  the copyright when
  890.          RBBS-PC first comes up.   Config parm 96 lets you set the time for the
  891.          screen to be displayed.   Set it to 0 to suppress the screen entirely.
  892.  
  893.     3.   The entry of integers - including lines to edit/delete/insert, message
  894.          margin, lines per  page, etc. - now  includes in the prompt  any range
  895.          constraints, reminds the  caller of a range constraint  when the entry
  896.          is not within bounds,  and consistently displays the old  value if one
  897.          is to be changed.
  898.  
  899.     4.   Entrances and exits  from a  conference are  now time  stamped in  the
  900.          caller's file.
  901.  
  902.     5.   The autologoff option  "/g" on the  end of any  command now gives  the
  903.          caller 30 seconds to cancel the logoff.
  904.  
  905.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page 2-6
  906.  
  907.     6.   The config option to pack users will not omit any user who was last on
  908.          more than 59 months ago.   Figures that clock was wrong. 
  909.  
  910.     7.   The config option to pack users  lets the months since last called  be
  911.          set up to 59 months rather than 12.
  912.  
  913.     8.   The SysOp can edit the time remaining for any user.
  914.  
  915.     9.   Local sessions not a SysOp are now logged to the caller's file.
  916.  
  917.     10.  Personal directories can have extended descriptions.
  918.  
  919.     11.  When there is  insufficient time to download all  the files requested,
  920.          the caller  gets an opportunity to edit the  list of files rather than
  921.          to have to retype the names of the files desired.
  922.  
  923.     12.  Confirmation to  continue is  asked when  a search  goes 100  messages
  924.          without a hit.
  925.  
  926.     13.  Config  parameter 173  can  be  used to  limit  the  types of  message
  927.          security  a  caller  can use  for  any  message base.    Can  pick any
  928.          combination of public, private, and password, as long as  at least one
  929.          is picked.
  930.  
  931.     14.  A separate fallback security level can be specified for each  security
  932.          level, when the subscription expires.
  933.  
  934.     15.  Can back out of a message save and resume editing.
  935.  
  936.     16.  When in local  mode and  shell to  a door, can  join subboard  without
  937.          getting an untrapped error.
  938.  
  939.     17.  No longer  can circumvent  ratios by canceling  a download  after last
  940.          block is received.
  941.  
  942.     18.  SmartText has a new variable "CN" for name of the current conference.
  943.  
  944.     19.  RBBS has  ability to  detect whether remote  caller can  support ANSI,
  945.          before getting the name.   Allows graphics prelogs.
  946.  
  947.     20.  Assistant SysOps  given access  to SysOp  function 2  for viewing  the
  948.          caller's log can now see all  information except for what might reveal
  949.          the  remote sysop  name, rather  than  just the  one-line listing  who
  950.          called when.
  951.  
  952.     21.  Config lets the personal  directory be put  anywhere rather than  just
  953.          where the personal downloads go.
  954.  
  955.     22.  Macros can be restricted to a PUI by using the first letter of the PUI
  956.          name as a "section" in the macro restraint.
  957.  
  958.     23.  The ability  to  quote a  message can  be disabled  via  option 97  in
  959.          config.  Default is to allow message quoting.
  960.  
  961.     24.  Baud rates of 7200,  12000, and 14400  are now logged  as such in  the
  962.          caller's file.
  963.  
  964.     INSTALLING RBBS-PC                                                 Page 2-7
  965.  
  966.     25.  Subject of  password protected message  is now revealed  after the    
  967.          correct password is given.
  968.  
  969.     26.  V)iew is now an option when reach end of a directory listing.
  970.  
  971.     27.  Support added for "14.4" as meaning "14400" in modem speed.
  972.  
  973.     To implement the new features
  974.  
  975.          (a)  If you want  people to be able  to do personal uploads,  you must
  976.               set  configuration parameter  159.    This  lets people  exchange
  977.               private files as well as mail.
  978.  
  979.          (b)  If you  want to  enable carbon copy,  you must  set configuration
  980.               parameter  160.    This  lets the  same message  be addressed  to
  981.               multiple people and makes "group" mail be feasible.
  982.  
  983.          (c)  If  you  want  to  provide  distribution  lists,  you  must   set
  984.               configuration parameters 171 and 172.
  985.  
  986.          (d)  To limit the max  time people extra people can have  for personal
  987.               downloads  to something other than 60  minutes, put the TIMEEXTRA
  988.               parameter in a header record.
  989.  
  990.          (e)  To  limit the bankable time, use parameter  292 in config and the
  991.               last parameter of  PASSWRDS.   You can control  the bankable time
  992.               by security level if desired.
  993.  
  994.          (f)  To make multiple caller's files  viewable set config parameter 95
  995.               and use an editor to create that file.
  996.  
  997.          (g)  To set  a security  level when  a subscription  expires, put  the
  998.               value in the 6th position of the PASSWRDS file.
  999.  
  1000.     2.3 Upgrading To The Newest Release
  1001.     -----------------------------------
  1002.     Warning:   17.4 is  NOT "plug"  compatible with  earlier releases.   It  is
  1003.     upward compatible in that  it can run with  older system files.   But third
  1004.     party software may not  yet able to support the  new file formats of  17.4.
  1005.     The major changes are as follows:
  1006.  
  1007.          o    The format  of the  message file has  changed, allowing  (but not
  1008.               requiring) support for multiple headers in a message
  1009.  
  1010.     This  change corresponds to  allowing the message  to be addressed  to more
  1011.     than one person.    This "carbon  copy" or "distribution list"  feature may
  1012.     not be supported by external message base utilities and may work improperly
  1013.     with messages that  have more than  one header record.    If you  must have
  1014.     compatibility with programs  that do not yet support  multiple headers, set
  1015.     configuration parameter  160 to  NO, not  enabling carbon  copy.   Multiple
  1016.     headers unfortunately are not supported in current versions of EchoMail  or
  1017.     NetMail.
  1018.  
  1019.          o    A new field  has been  added to  the user's file,  for number  of
  1020.               minutes of banked time.
  1021.  
  1022.          o    A new  flag is set in the users' records, indicating whether they
  1023.               have any new personal uploads waiting.
  1024.  
  1025.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page 2-8
  1026.  
  1027.     External user  file utilities  may fail to  support these  fields and  work
  1028.     improperly with the new user file format.
  1029.  
  1030.          o    There are  TWO (2)  changes to  the PASSWRDS  file!!   (a) A  new
  1031.               parameter on the end:  max time to bank, and (b) a  new parameter
  1032.               in the 6th position:  expired security level.
  1033.  
  1034.     These  new variables apply  to the line  in question, which  applies to the
  1035.     temporary  password specified  in parameter  1,  or the  security level  in
  1036.     parameter 2, for the time of day indicated on the line.
  1037.  
  1038.     RBBS-PC  strives  to   remain  fully  upward  compatible,   preserving  all
  1039.     capabilities of  earlier releases.   However,  17.4 drops  support for  the
  1040.     following features:
  1041.  
  1042.          o    the Novation modem, originally released with the IBM PCJr
  1043.  
  1044.          o    switching from 300 to 450 baud.
  1045.  
  1046.     Any upgrade considerations are described in detail in a text file contained
  1047.     in the release.  Generally, you need to
  1048.  
  1049.        - replace RBBS-PC.EXE and CONFIG.EXE with the new versions
  1050.        - add/replace any new HELP files
  1051.        - run CONFIG and  set up any new parameters (as described in the release
  1052.          notes for the specific maintenance release).
  1053.  
  1054.     When upgrading, follow these general cautions:
  1055.  
  1056.     1.   Do  not  destroy  or overwrite  your  old  files.   You  may  run into
  1057.          difficulties and  have to fall  back to  the old version.   Especially
  1058.          keep a  backup of  your current USERS,  MESSAGES, configuration  "DEF"
  1059.          files, and your RBBS-PC.EXE and CONFIG.EXE files.
  1060.  
  1061.     2.   Start by trying to get the new version just to run equivalently to the
  1062.          old without implementing new features.  Implement new features one  at
  1063.          a time.  Do not try to implement everything new at once.
  1064.  
  1065.     3.   The file that  almost always changes between  non-maintenance versions
  1066.          is a configuration "DEF" file.  A utility program called  RECONFIG.EXE
  1067.          is provided that  converts all versions from  14.1D on to  the latest.
  1068.          This will save you the trouble of manually re-entering the parameters.
  1069.          If you do not  have RECONFIG you should print out  all the options you
  1070.          selected on your current RBBS?PC.DEF file.
  1071.  
  1072.     4.   CONFIG.EXE has an option  to review the  parameters changed since  the
  1073.          last version.   You  should always  run this to  see what  is new  and
  1074.          possibly  change  the values.    If  you  do  not have  RECONFIG,  you
  1075.          generally need  to delete your  current RBBS?PC.DEF file  and manually
  1076.          enter the parameters.  Sometimes, however, the same parameters will be
  1077.          in a different place  in the new configuration.  If  you are upgrading
  1078.          from several versions back, there is no simple way of knowing what all
  1079.          is new.
  1080.  
  1081.     5.   The MESSAGES and  USERS files are the  two that are most  important to
  1082.          continue  to be  able to  use.   RBBS-PC  17.4 is  compatible  on both
  1083.          accounts with files at least back through version 14, in that 17.4 can
  1084.          read and write the  files from earlier  versions, with no  conversion.
  1085.  
  1086.     INSTALLING RBBS-PC                                                 Page 2-9
  1087.  
  1088.          However, for versions prior the 17.3, there is a critical parameter to
  1089.          set  in  CONFIG:  the  minimum  security  to  auto-add  a  user  to  a
  1090.          conference.  This  applies to  conferences not  sub-boards, i.e.  that
  1091.          have no configuration DEF file.   Go into CONFIG, conference mode, and
  1092.          then check this value.  No one will be able to join the conference  if
  1093.          their security is below this number, even the SysOp.  Reset this value
  1094.          so that the desired callers can join the conference.
  1095.  
  1096.     6.   RBBS-PC  is  written  to  be  upward  compatible,  preserving  all the
  1097.          functions of earlier versions.  However, you  may have to make changes
  1098.          to the  new configuration to  make it run equivalently.   If upgrading
  1099.          from 17.3x, you need to consider the following:
  1100.  
  1101.          (a)  Run config to set parm 292 if you want people to have any time to
  1102.               be able to bank.
  1103.  
  1104.          (b)  Add two new parameters to PASSWRDS.  There are now  13 parameters
  1105.               (12 commas).  You  must add the parameters for  the PASSWRDS file
  1106.               to work.    It is  recommended that you  add ",60" to the  end of
  1107.               each line  in PASSWRDS.   For the  expired security level to work
  1108.               the same, you must insert what was  in config parm 49 to position
  1109.               6.  E.g. if parm 49 had value 5, then change would be
  1110.            
  1111.               (before)
  1112.               ,8,70,70,365,,,,-1,,
  1113.               (after)
  1114.               ,8,70,70,365,5,,,,-1,,,60
  1115.  
  1116.          (c)  Replace MENU4, MENU4G, MENU4C, UB.HLP, MR.HLP, FL.HLP.
  1117.  
  1118.          (d)  Run the config option to set new parameters.
  1119.      
  1120.     17.4 has some incompatibilities and operational differences, including
  1121.  
  1122.          (a)  The first  command in  a quit in  a PUI is  now the  default when
  1123.               Enter is pressed.   Before, there was no default.
  1124.  
  1125.     Some operational  changes in  RBBS that  may at  first confuse  experienced
  1126.     callers, including
  1127.  
  1128.          (b)  No longer can a 300 baud caller change to 450.
  1129.  
  1130.          (c)  When in TurboKey mode, the caller can no  longer just type in    
  1131.               the file names for implied downloading at a prompt in a directory
  1132.               listing.   Callers must  now  issue the  D)ownload command  first
  1133.               (e.g.  "D", then  "file1 file2  ..." rather than  directly "file1
  1134.               file2 ...".  Even though the prompt no longer has the  option "or
  1135.               files  to  download"  lists  of  files for  downloading  will  be
  1136.               processed as before when not  in TurboKey mode or if TurboKey  is
  1137.               suspended ("/ file1 file2 ...").
  1138.  
  1139.          (d)  When uploading, the caller will be asked a new question of who   
  1140.               the upload is for.  Indicating a)ll operates as before. Otherwise
  1141.               the file will  be added as a personal  upload to the persons     
  1142.               indicated, and NOT be added to the upload directory, but rather  
  1143.               the personal directory.   Note that this  changes the meaning  of
  1144.               stacked commands:   the old "u  file1 file2" now  means to upload
  1145.               file1 to person file2!
  1146.  
  1147.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 2-10
  1148.  
  1149.          (e)  "J  MAIN" will not  longer work (though  "J M" will)  unless your
  1150.               main message base is named "MAINU.DEF".
  1151.  
  1152.          (f)  Subscription management now works in Subboards.   This means that
  1153.               a   subscription  can   independently  expire   in  a   subboard.
  1154.               Previously, subscription management worked only on the main logon
  1155.               board.   To get RBBS to work equivalently, you must configure the
  1156.               subboard to  turn  OFF subscription  management to  let the  main
  1157.               board manage  subscriptions and set the security  level, and have
  1158.               it  follow  into conferences.      However, now  you  can  set up
  1159.               subscriptions to subboards.
  1160.  
  1161.          (g)  Pressing Enter during a display of text will no longer terminate 
  1162.               that display, but rather simply stacks the Enter.  17.4 works the
  1163.               way RBBS-PC did prior to 17.3C.
  1164.  
  1165.          If upgrading from 17.2x, you need to consider the following:
  1166.  
  1167.          (a)  replace RBBS-PC.EXE and CONFIG.EXE
  1168.  
  1169.          (b)  If you want  file a)ll to list multiple  physical directory files
  1170.               (as opposed to say just the  FMS master file), then you must  set
  1171.               up RBBS-PC differently (see CONFIG parameter 218).
  1172.  
  1173.          (c)  If you  turned on  "enforce ratios", but  exempted all  security 
  1174.               levels  (this  tells   RBBS-PC  to   track,  but  not   restrict,
  1175.               downloads), you  must change the ratio (parameter  9 in PASSWRDS)
  1176.               to -1 in order for the  code to work equivalently.  Similarly,  a
  1177.               ratio of  0 will  not even  COUNT  the downloads.   (This  allows
  1178.               "free" periods of downloading to be specified.)
  1179.  
  1180.     7.  If upgrading from 17.1, you need especially to consider:
  1181.  
  1182.          (a)  the minimum security to read and  kill all messages.  If this  is
  1183.               set to 0, everybody can read everyone else's mail!
  1184.  
  1185.          (b)  RBBS-PC formerly  supported the  "arc" format  exclusively.   Now
  1186.               "zip" is its default,  but it can be set up for  any.  Review the
  1187.               parameters for default extension and archiving command.
  1188.  
  1189.          (c)  Your personal  directory  may  not  work  unless  you  include  a
  1190.               drive/path.  Re-enter the parameter value in CONFIG.
  1191.  
  1192.     6.   If  you are  upgrading  from a  version  prior to  17.1, consider  the
  1193.          possibility that the  PASSWRDS file may have a  different format, that
  1194.          external protocols are  controlled by  an external table  (PROTO.DEF),
  1195.          that the  doors interface  may be  different, and  the control for  an
  1196.          timed event may be different.  See section 10 for information on these
  1197.          CONFIG parameters.
  1198.  
  1199.     9.   Use the new text files,  especially the menus and help files.   If you
  1200.          have customized  versions of these,  start with the  distributed files
  1201.          and change them.
  1202.  
  1203.     10.  Review the documentation on the major areas of enhancements.   Section
  1204.          26 on the history of RBBS-PC briefly reviews the enhancements in  each
  1205.          version of  RBBS-PC.   Some  specific things  that  you want  to  take
  1206.          advantage of include:
  1207.  
  1208.     INSTALLING RBBS-PC                                                Page 2-11
  1209.  
  1210.          (a)  Macros and SmartText  have been  significantly improved in  17.4.
  1211.               You  no longer need to include  a "{ST" at the  end of macros and
  1212.               will probably want  to omit  it.   You may want  to enhance  your
  1213.               menus as well.  See the revised sections on SmartText and Macros.
  1214.  
  1215.          (b)  You may want to make file searches  faster and reduce the wear on
  1216.               your  hard disk by installing  the fast file  search system.  See
  1217.               section 12.9.
  1218.  
  1219.          (c)  You may  want to create  a new category  of system bulletins  - a
  1220.               NEWS facility (see section 7.13).
  1221.  
  1222.     The major changes in 17.2A were:
  1223.  
  1224.     (a)  use of shelling triggered by the presence of BAT files to test uploads
  1225.          for  integrity, convert  uploads to  a different  format, and  support
  1226.          viewing  of  text  files  inside  ZIP  files,  and  verbose  list  any
  1227.          compressed format,
  1228.  
  1229.     (b)  greatly enhanced macros  and questionnaires,  including new data  base
  1230.          functions,
  1231.  
  1232.     (c)  enhanced doors interface, including an external control file for doors
  1233.          (DOORS.DEF) as well as  the ability of a door to  request that RBBS-PC
  1234.          change the user  record (DOUTx.DEF), pass any  information via command
  1235.          line or  a file to a door, and for  a door to return information to be
  1236.          displayed to the caller
  1237.  
  1238.     (d)  the message  files can be configured to have  minimum size to hold the
  1239.          messages and let grow in size as new messages are added,
  1240.  
  1241.     (e)  conferences and sub-boards  can be configured to  automatically change
  1242.          the user's security to match the logon security,
  1243.  
  1244.     (f)  message  quoting, allowing  the  option  to type  in  be the  same  on
  1245.          different  submenus  and  be a  single  keystroke,  speech synthesizer
  1246.          support  for  visually  impaired  SysOps,  making uploads  immediately
  1247.          shareable  on  Novell networks,  an  easy  way  to give  a  conference
  1248.          moderator  access to  all mail  without  having to  make them  SysOps,
  1249.          chained FMS directories, and more.
  1250.  
  1251.     PLEASE NOTE!!!!! ---- 17.4  does change a  field in the  user file and  the
  1252.     structure of the message file.
  1253.  
  1254.     2.4 Common Problems Encountered Installing RBBS-PC
  1255.     --------------------------------------------------
  1256.     IT CONTINUALLY RECYCLES!  This can have several causes.  RBBS-PC   requires
  1257.     that a modem be attached to your communications port.  Therefore:
  1258.  
  1259.        - check what communication port is being used.
  1260.        - verify that this communications port exists.
  1261.        - verify that your modem is attached to it.
  1262.        - verify that your modem is powered up.
  1263.        - verify that your modem is configured properly.
  1264.        - verify that CONFIG knows what kind of modem you're using.
  1265.        - verify  that the  modem cable  supports  all ten  signals required  by
  1266.          RBBS-PC (see Appendix F).
  1267.  
  1268.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 2-12
  1269.  
  1270.        - verify that DTR (Data Terminal Ready) and CD (Carrier Detect) are  set
  1271.          to  "normal" rather  than  always "on"  (sometimes  called "true"  and
  1272.          "forced" instead).
  1273.        - verify that each DOS subdirectory referred to in CONFIG exists.
  1274.        - verify that  RBBS-PC runs  properly when set  up to  use COM0  (i.e. a
  1275.          local workstation).
  1276.  
  1277.     Internal modems, which are not recommended for running a BBS, can sometimes
  1278.     cause a special problem  with the communications port.    An internal modem
  1279.     its own communications port.    Setting it to the same communications  port
  1280.     as one already installed on your computer can cause unpredictable results. 
  1281.     Realize that many motherboards already  have com1 and com2 on them.    Make
  1282.     sure your  internal modem is  not set up  in conflict with  another part of
  1283.     your computer  -either trying to use an interrupt  already in use or set to
  1284.     the same com port as one already there.   Usually a jumper or switch on the
  1285.     internal modem lets you select an  interrupt and the com port number.    If
  1286.     you use  com3 or  com4, you must  use a  Fossil driver with  RBBS-PC.    In
  1287.     extreme cases,  you may want to disable a com  port on your motherboard and
  1288.     set the internal modem to com1 or com2.
  1289.  
  1290.     If, after all of the above has  been attempted, the problem still persists,
  1291.     try deleting your  MESSAGES and USERS files and re-run CONFIG to create new
  1292.     ones.
  1293.  
  1294.     Finally, having exhausted  all the above remedies, the  system continues to
  1295.     continually re-cycle, you may have an incompatible "clone" PC, incompatible
  1296.     DOS, incompatible modem, and/or a bad copy of RBBS-PC.EXE.
  1297.  
  1298.     IT WON'T ANSWER THE PHONE!  This also can be caused by one of the following
  1299.     things:
  1300.  
  1301.        - Phone line is not plugged into the modem.
  1302.        - Modem is not powered on.
  1303.        - Modem is  not connected  to the communications  port that  RBBS-PC was
  1304.          told to use.
  1305.        - You have two com ports set to the same number.
  1306.        - Your com port is using an interrupt (IRQ) being used by another device
  1307.          on your computer.
  1308.        - Your modem switches or firmware is not set (see CONFIG parameter 231).
  1309.        - Your modem  is  not "Hayes  compatible"  enough to  handle  the  modem
  1310.          commands described in section 11.
  1311.        - Your modem cable does not have Pin 22 connected.
  1312.        - Your modem requires CTS flow control to be enabled.  In CONFIG, set
  1313.          parmeter 244 to YES.
  1314.  
  1315.     There are two conditions under which RBBS-PC does not require Pin 22 in the
  1316.     RS-232 cable to reflect the status of "ring".
  1317.  
  1318.     RBBS-PC does not require Pin 22 to be hooked up on the RS-232 cable (that's
  1319.     the cable which  runs between the modem  and the computer, by the  way), if
  1320.     you specify in CONFIG  that RBBS-PC is to  answer the phone on  zero rings,
  1321.     and that it  is not  a "RING-BACK" system.   In  this setting RBBS-PC  will
  1322.     initialize the modem so that the modem AUTOMATICALLY answers the phone.
  1323.  
  1324.     RBBS-PC also does not  require Pin 22  to reflect the  status of ring  when
  1325.     your modem  returns the result  code "RING" as the  phone is ringing.   The
  1326.     default  setting for RBBS-PC  is that it  depends on either  Pin 22, or the
  1327.     modem  result code  "RING", to  know when  the phone  is ringing.   This is
  1328.  
  1329.     INSTALLING RBBS-PC                                                Page 2-13
  1330.  
  1331.     because RBBS-PC,  and NOT the  modem, answers the  phone.  When  RBBS-PC is
  1332.     informed by  the modem that  the phone is  ringing, it counts the  rings by
  1333.     issuing the "ATS1?"  command.   When the  number of rings  has reached  the
  1334.     number you told  CONFIG you wanted to answer after, RBBS-PC sends the "ATA"
  1335.     command to tell the modem to answer the phone (see section 11).
  1336.  
  1337.     If your  modem does  NOT send  the characters  "RING" each  time the  phone
  1338.     rings, you will need  a cable with Pin 22 connected.   Some computers (such
  1339.     as the PCjr's external RS-232 interface) and some modem cables don't have a
  1340.     "ring-indicator" signal.   Pin 22  is the  ring indicator  coming from  the
  1341.     modem going to  the computer.  And just because you bought an RS-232 cable,
  1342.     don't assume that it has Pin 22 connected.  This is often not the case.
  1343.  
  1344.     IT LOCKS UP MY SYSTEM!  This may be caused by one of the following things:
  1345.  
  1346.        - The .EXE  file generated  by the BASIC  compiler is  incompatible with
  1347.          either the  DOS that you are running (i.e.  it isn't generic MS-DOS or
  1348.          IBM's PC-DOS),  or other software  you load into  the system prior  to
  1349.          running RBBS-PC (such  as a device driver  loaded in CONFIG.SYS,  or a
  1350.          TSR  program   loaded  in  your   AUTOEXEC.BAT  file).     Remove  all
  1351.          non-essential memory resident software.
  1352.  
  1353.        - You  indicated in CONFIG  that you were  running one of  the supported
  1354.          networks (i.e. CORVUS, MultiLink, Orchid, etc.), but you aren't.
  1355.  
  1356.        - You  are running on  a COMPAQ DeskPro,  or using an  add-on board that
  1357.          uses  the unused DOS  interrupt 7F  hex, and  should have  used CONFIG
  1358.          parameter 29 to indicate you are using a COMPAQ PC.
  1359.  
  1360.        - Your modem  isn't set  up correctly,  probably not  supplying us  with
  1361.          "true"  carrier detect  (i.e.  the modem  tells us  that  a caller  is
  1362.          connected  when  that's   not  true).    Try  selecting   "Hayes  2400
  1363.          compatible" as  the modem type  in CONFIG,  and use  parameter 231  to
  1364.          re-program the modem's firmware.
  1365.  
  1366.        - RBBS-PC is trying  to log to a printer  that does not exist  or is not
  1367.          turned on,  or out  of paper,  and no  error condition  is ever  being
  1368.          returned back to  RBBS.  In CONFIG,  tell RBBS-PC to turn  the printer
  1369.          off after each recycle (parameter 52).
  1370.  
  1371.        - Your system  does not  support standard  DOS system  calls for  screen
  1372.          writes.   Try  setting CONFIG  parameter 39  to use  BASIC for  screen
  1373.          writes.
  1374.  
  1375.        - Your system  is not  as PC  compatible as  it should  be  and may  use
  1376.          strange interrupts.   Try  turning assembler  routines off  (parameter
  1377.          38).
  1378.  
  1379.     "BASE-LINE" HARDWARE AND SOFTWARE REQUIREMENTS                     Page 3-1
  1380.  
  1381.     3. "BASE-LINE" HARDWARE AND SOFTWARE REQUIREMENTS
  1382.     -------------------------------------------------
  1383.     RBBS-PC is  designed to  run on  an IBM  Personal Computer, or  compatible,
  1384.     running  MicroSoft's  Disk  Operating System  (DOS),  communicating  via an
  1385.     asynchronous communications  adapter (aka  a "COM" or  "serial" port),  and
  1386.     using a Hayes Smartmodem, or compatible modem.  The following equipment and
  1387.     software  is the  MINIMUM  and the  recommended  configuration for  running
  1388.     RBBS-PC:
  1389.  
  1390.                                                                                
  1391.        Item           Minimum                         Recommended              
  1392.                                                                                
  1393.      System       IBM PC or compatible          IBM 80386 compatible           
  1394.                                                                                
  1395.      Monitor      80 column monochrome          80 column color monitor        
  1396.                                                                                
  1397.      COM port     RS-232 adapter with an Intel  RS-232 adapter with an Intel   
  1398.                   8250 UART chip                16550AFN UART chip             
  1399.                                                                                
  1400.      Modem        Any Hayes Smartmodem 1200,    A USR Courier HST dual         
  1401.                   or 100% compatible modem      standard 9600/v.32bis modem    
  1402.                                                                                
  1403.      Phone line   Voice grade telephone         Voice grade telephone          
  1404.                   connection for modem          connection for modem           
  1405.                                                                                
  1406.      Modem cable  25 pin RS-232 shielded cable  25 pin RS-232 shielded cable   
  1407.                                                                                
  1408.      RAM          512K RAM available for DOS    640K RAM available for DOS     
  1409.                   and RBBS-PC                   and RBBS-PC                    
  1410.                                                                                
  1411.      Disk size    20MB hard disk                120MB hard disk                
  1412.                                                                                
  1413.      DOS version  MS-DOS version 2.1            MS-DOS 5.0 or higher           
  1414.                                                                                
  1415.  
  1416.     The .EXE files  are distributed with  RBBS-PC as well  as the BASIC  source
  1417.     code  so it  is not  necessary to  have a  BASIC  Compiler to  run RBBS-PC.
  1418.     However, for  those who would like to compile  RBBS-PC from the source code
  1419.     the recommended compiler is Microsoft's QuickBASIC version 3.0.
  1420.  
  1421.     The MINIMUM configuration that can run RBBS-PC  is an IBM PC that has  360K
  1422.     of  random access  memory (RAM),  one  double-sided disk  drive, an  RS-232
  1423.     communications port with  a Hayes modem and  IBM's PC DOS 2.0  (or higher).
  1424.     To run  in 360K  it is necessary  to recompile  RBBS-PC -- see  Appendix U.
  1425.     Also if you choose to allow external file protocol transfers, an additional
  1426.     192K of memory is required if you SHELL to them rather than EXIT.
  1427.  
  1428.     Beginning with RBBS-PC version 13.1A, RBBS-PC requires version 2.0 or above
  1429.     of IBM's Disk Operating System (DOS).  RBBS-PC will not run under the BASIC
  1430.     interpreter.   RBBS-PC runs under MS-DOS to  the extent that the executable
  1431.     code generated by  the IBM/Microsoft BASIC compiler is  compatible with the
  1432.     multitude of different  MS-DOS's.  RBBS-PC is generic, but some versions of
  1433.     DOS do not work, such as remote drop to DOS under Tandy DOS.
  1434.  
  1435.     If you have a second telephone installed specifically for  RBBS-PC, ask for
  1436.     a second voice grade telephone line.  Data lines are very expensive and are
  1437.     not necessary.  The program requires the use of a Hayes Smartmodem  (or one
  1438.     that is 100%  compatible) in order to function properly.  If your non-Hayes
  1439.  
  1440.     RBBS-PC 17.4            TECHNICAL REFERENCE MANUAL                 Page 3-2
  1441.  
  1442.     modem doesn't work  with RBBS-PC, send RBBS-PC (source code and all) to the
  1443.     vendor  and ask  him  to explain  why  it doesn't  work,  if  the modem  is
  1444.     compatible.
  1445.  
  1446.     RBBS-PC's SUPPORT POLICIES                                         Page 4-1
  1447.  
  1448.     4. RBBS-PC's SUPPORT POLICIES
  1449.     -----------------------------
  1450.  
  1451.     4.1 RBBS-PC's User Support Methods
  1452.     ---------------------------------
  1453.     RBBS-PC is supported as well as any commercial product and even better than
  1454.     some, albeit in a different way.  Rather than a single source for technical
  1455.     support, RBBS-PC distributes  its help via a  network of volunteers.   This
  1456.     section outlines the many  ways you can find assistance in  setting up your
  1457.     RBBS-PC
  1458.  
  1459.          Written documentation with RBBS, which you are reading.  This is  more
  1460.          a reference than a guide for novices, however.
  1461.  
  1462.          A  book,  "The  Complete  Electronic   Bulletin  Board  Starter  Kit",
  1463.          published by Bantam Books and available at B. Dalton Bookstores.  This
  1464.          book  covers  installing  RBBS-PC  in  detail,  although  the  version
  1465.          discussed is 15.1C, so the book is now obsolete.
  1466.  
  1467.          A commercial  product, "RBBS-PC  in a  Box", a  CD-ROM disc  which has
  1468.          thousands of shareware and public domain programs stored in compressed
  1469.          format, and has RBBS-PC  virtually pre-installed.   You can be  online
  1470.          only minutes  after  installing  the  CD-ROM.    For  information  and
  1471.          ordering, contact Quanta Press, at (612) 641-0714.
  1472.  
  1473.          Network  mail.    Both  RBBS-Net  and  RelayNet have  RBBS-PC  support
  1474.          conferences.  For RBBS-Net, contract Rod Bowman (number listed below).
  1475.          For RelayNet contact Greg Snyder (703-323-1782, data number).
  1476.  
  1477.          Technical Support BBS.   News, information,  and answers to  questions
  1478.          about RBBS-PC are available at the following numbers:
  1479.               (407) 487-3441
  1480.               (407) 487-3442
  1481.  
  1482.          Telephone support.  When all else fails, you can place a voice call to
  1483.          one of the  authors.  Since  RBBS-PC SysOps should  know how to use  a
  1484.          modem, voice  calls  usually should  NOT  be needed.    The  Technical
  1485.          Support BBS is a much better medium for technical questions.  However,
  1486.          if you MUST  make a  voice call,  dial (407) 852-7790.   Usually,  the
  1487.          phone  will be  answered  by a  voice  mail system.    You can  record
  1488.          questions and call back later to hear recorded.  Due to  financial and
  1489.          time limitations, we  CANNOT return voice calls.  Your  best chance of
  1490.          having a human answer the phone are  between the hours of 7pm and 10pm
  1491.          (Eastern U.S.).
  1492.  
  1493.          Support Boards.  Support boards are BBS's where the SysOp:
  1494.  
  1495.             - commits to running RBBS-PC for the foreseeable future
  1496.             - has an at least one free, public line
  1497.             - is regularly available for helping others
  1498.             - makes the latest  version of  RBBS-PC available,  either         
  1499.               electronically or by mail
  1500.  
  1501.          A list of support boards is included in the RBBS-PC  package.  Look at
  1502.          the  file "SUPPORT.BBS"  in  the default  RBBS-PC  directory.   Please
  1503.          realize that bulletin boards may cease to exist, or change their phone
  1504.          numbers, and that other commitments can make people unavailable.
  1505.  
  1506.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page 4-2
  1507.  
  1508.          Help by Topic: Ken Goosens maintains an interactive, on-line data base
  1509.          of people  who volunteer  to help with  RBBS-PC on  particular topics.
  1510.          Call  Ken's BBS,  and use  the  QUESTIONNAIRE function  to search  for
  1511.          someone in your area who can help.  Some of the topics listed are:
  1512.  
  1513.          Auto Maintenance       File Mgt System (FMS)  Protocols
  1514.          BASIC                  File maintenance       Questionnaires
  1515.          Batch Files            HST                    Quick Basic
  1516.          CD-ROM                 Hardware               Setup
  1517.          Communication          LANTASTIC              SmartText
  1518.          Compiling              Modems                 Startup
  1519.          Conferences            Network                Sub-boards
  1520.          Configuration          Novell Netware         Submenus
  1521.          Desktop Publishing     PC-Slaves              Time Lock
  1522.          DESQview               PUI                    Uploads
  1523.          Doors                  Personal downloads     User Interface
  1524.          DoubleDOS              Programming            Utilities
  1525.  
  1526.     Most Bulletin Board  Software is dedicated to making money for its authors.
  1527.     No matter how much  the authors love the work,  it endures only so long  as
  1528.     the hope of income continues.
  1529.  
  1530.     RBBS-PC is given away for free,  and depends not on the flow of  money, but
  1531.     on the continuing dedication and generosity of people who volunteer to help
  1532.     support and enhance it as  a public service, and share their  labor of love
  1533.     with others for the benefit of all.
  1534.  
  1535.     The commitment of the coordinating authors of RBBS-PC is to:
  1536.  
  1537.        - fix any problems, on a priority basis
  1538.        - steadily refine and  enhance RBBS-PC to better serve the  needs of its
  1539.          users
  1540.        - help support and coordinate contributions, testing, and releases
  1541.  
  1542.     RBBS-PC should be bug free, period.  If  there are any problems with it, we
  1543.     want to know.   We want  people to use  RBBS, not because  it is free,  but
  1544.     because it is the best bulletin board available.
  1545.  
  1546.          Professional Tech  Support: While RBBS-PC  remains an  "all-volunteer"
  1547.          effort, BBSs  run by  corporations may find  security in  "paying" for
  1548.          support.  If  your corporation  desires 24-hour, quick-response  help,
  1549.          contact Doug  Azzarito at  (407) 852-7790.   You  will be  referred to
  1550.          someone who can offer  a support plan that will satisfy  any corporate
  1551.          user.
  1552.  
  1553.     4.2 RBBS-PC's Vendor Support Policy
  1554.     -----------------------------------
  1555.     While  a great  deal of  care  was taken  to  make RBBS-PC  as flexible  as
  1556.     possible, supporting a wide range of computers and  modems, the program was
  1557.     designed  with  the  IBM  PC  (or  compatible)  and  Hayes  Smartmodem  (or
  1558.     compatible) in  mind.    Many  of  RBBS-PC's  default  values  assume  this
  1559.     combination, and it is certainly this combination which requires the  least
  1560.     effort to bring online.
  1561.  
  1562.     The  philosophy of  RBBS-PC  is outlined  in  section  1.1 of  the  RBBS-PC
  1563.     documentation.   Those who contribute to RBBS-PC do  so without any hope of
  1564.     monetary reward.  In  fact, great lengths are taken to  assure that neither
  1565.     those involved with the development of RBBS-PC, nor anyone who  distributes
  1566.  
  1567.     RBBS-PC's SUPPORT POLICIES                                         Page 4-3
  1568.  
  1569.     RBBS-PC, does so for personal  gain or to promote a specific product at the
  1570.     expense of other products.
  1571.  
  1572.     If the hardware you  are using is not part of  the "base-line" hardware and
  1573.     RBBS-PC  doesn't work, your  only recourse is  to either  modify RBBS-PC to
  1574.     meet  your particular needs (that's why the source code is distributed), or
  1575.     contact your  vendor  and ask  him to  either fix  his  hardware or  modify
  1576.     RBBS-PC (via .MRG/.DOC files) to support his hardware.
  1577.  
  1578.     Since 1984, RBBS-PC  has become something of  an "industry standard."    As
  1579.     such,  several  manufacturers   have  requested  that  support   for  their
  1580.     particular  hardware  and/or software be incorporated into  RBBS-PC.  These
  1581.     vendors have had three choices:
  1582.  
  1583.     1.   Obtain a copy of the BASIC source code by sending $8 to the Capital PC
  1584.     User Group's  Software  Exchange.   The source  code allows  the vendor  to
  1585.     determine what is  required to be  "RBBS-PC compatible."  Who  better knows
  1586.     the quirks of the manufacturer's product than the manufacturer?   RBBS-PC's
  1587.     limited license  specifically permits the distribution of ".MRG" files that
  1588.     would allow  RBBS-PC  to run  with  whatever idiomatic  quirks  a  specific
  1589.     vendor's product exhibited.  The advantage to the manufacturer is that they
  1590.     are in  complete control and  need not make  the .MRG "universal"  (i.e. it
  1591.     need only support their product).  The disadvantage is that new releases of
  1592.     RBBS-PC  come out every six  to eight months  and the vendor  would have to
  1593.     review each release to make  sure the new releases and his  .MRG files were
  1594.     compatible.   Of  course,  as  with  any  other  RBBS-PC  operator,  casual
  1595.     telephone support is available to these vendors.
  1596.  
  1597.     2.   Supply the necessary equipment or software on  a loan or gift basis to
  1598.     be used in  the testing of future  releases of RBBS-PC.   This approach has
  1599.     been actively DISCOURAGED for three fundamental reasons.
  1600.  
  1601.       1. The vendor perceives he has "paid" for on-going support by the loan or
  1602.          donation  of the  product.   This  is not  the case  because RBBS-PC's
  1603.          development is  an all-volunteer  activity.  As  such, it  is possible
  1604.          that  none of those involved with the  development of RBBS-PC may have
  1605.          the  time  or  expertise sufficient  to  assure  compatibility  of the
  1606.          specific vendor's product with future releases of RBBS-PC.  About  all
  1607.          that can  be done is  to give the  vendor our "best  effort" to assure
  1608.          compatibility, and advise when it can not be made compatible.
  1609.  
  1610.       2. The  particular  product may  not  have a  universal  applicability to
  1611.          RBBS-PC users and/or  may not be  of interest  to those who  regularly
  1612.          contribute to the development  of RBBS-PC.   Both of these  conditions
  1613.          must  exist before  any  vendor's  product  is incorporated  into  the
  1614.          RBBS-PC development cycle.
  1615.  
  1616.       3. The price  of the  loaned or  donated products  (usually 3  to 5  such
  1617.          products) in no  way can even begin to compensate for the hundreds (if
  1618.          not thousands)  of development  hours required to  support other  than
  1619.          "base-line" hardware.
  1620.  
  1621.     3.  Establish  an on-going institutional commitment to  maintain a dialogue
  1622.     between  the vendor's  engineering group and  the RBBS-PC  development team
  1623.     along with supplying  the necessary equipment or software on a loan or gift
  1624.     basis  to be  used in  the testing  of future  releases of  RBBS-PC.   This
  1625.     approach has been actively  ENCOURAGED for three different  and fundamental
  1626.     reasons.
  1627.  
  1628.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page 4-4
  1629.  
  1630.       1. The  vendor  overtly  makes  an  institutional commitment  to  jointly
  1631.          participate  in  the development  of  RBBS-PC.    The vendor  has  the
  1632.          opportunity to supplement the all-volunteer activity that is the basis
  1633.          for RBBS-PC development by choosing to either modify their current  or
  1634.          future products to be  compatible with RBBS-PC  or to supply  software
  1635.          that ensures compatibility  with RBBS-PC.   This benefits all  RBBS-PC
  1636.          users.
  1637.  
  1638.       2. The particular products  that fall into this category  are required to
  1639.          have a universal  applicability to  RBBS-PC users (i.e.  multi-tasking
  1640.          DOS,  networking,   2400  or  greater   baud  capability,   error-free
  1641.          protocols,  etc.).     Also,  a   regular  contributor  to   RBBS-PC's
  1642.          development  must  be  geographically located  close  to  the vendor's
  1643.          development engineers  to  assure a  timely  dialogue.   Further,  any
  1644.          regular  contributor   to  RBBS-PC's   development  who  accepts   the
  1645.          responsibility for assuring RBBS-PC's compatibility with  a particular
  1646.          vendor's product must be willing to do so solely on a  volunteer basis
  1647.          over  an extended period of time  and in such a  way as not to exclude
  1648.          other vendor's products.   Only when all these conditions exist is any
  1649.          vendor's  product a  candidate  to be  incorporated  into the  RBBS-PC
  1650.          development cycle.  This assures that the RBBS-PC user community has a
  1651.          feed-back mechanism  to the  vendor's product  development and  design
  1652.          teams and  the vendor  is assured of  a matching  long-term commitment
  1653.          from the RBBS-PC development team.
  1654.  
  1655.       3. The vendor recognizes that the price of the loaned or donated products
  1656.          (usually 3 to 5 such products) is minuscule compared with the hundreds
  1657.          (if not thousands)  of man-hours that may  be required  from  both the
  1658.          RBBS-PC development  team as  well as  the vendor's  engineers.   This
  1659.          assures that the vendors who choose this third approach are  committed
  1660.          to the  PC user community.   It is  precisely this type  of commitment
  1661.          that  RBBS-PC's USERWARE concept  is designed to  encourage (from both
  1662.          users and vendors)
  1663.  
  1664.     Many vendors have chosen to make this third type of commitment  to RBBS-PC.
  1665.     We hope each of them will continue their support.  In turn, we hope RBBS-PC
  1666.     SysOps and  users will  show their  appreciation of  the vendors'  support.
  1667.     Some of these vendors are (alphabetically):
  1668.  
  1669.          Alloy Computer Products, Inc.
  1670.          165 Forest Street
  1671.          Marlboro, MA 01752
  1672.          (508) 481-7711
  1673.  
  1674.          Corvus Systems, Inc.
  1675.          2100 Corvus Drive
  1676.          San Jose, California 95124
  1677.          (408) 559-7000
  1678.  
  1679.          Computer Peripherals, Inc.
  1680.          667 Rancho Conejo Blvd.
  1681.          Newbury Park, CA 91320
  1682.          (805) 499-5751
  1683.  
  1684.          The Forbin Project
  1685.          (c/o John Friel III)
  1686.          4945 Colfax Avenue South
  1687.          Minneapolis, MN 55409
  1688.  
  1689.     RBBS-PC's SUPPORT POLICIES                                         Page 4-5
  1690.  
  1691.  
  1692.          Hayes Microcomputer Products
  1693.          5923 Peachtree Industrial Blvd.
  1694.          Norcross, Georgia  30092
  1695.          (404) 449-8791
  1696.  
  1697.          IBM Corp
  1698.          (Internal Zip Code 2900)
  1699.          P.O. Box 1328
  1700.          Boca Raton, Florida  33432
  1701.          (305) 998-2000
  1702.  
  1703.          Microcom, Inc.
  1704.          1400A Providence Highway
  1705.          Norwood, MA  02062
  1706.          (617) 762-9310
  1707.  
  1708.          Multi-Tech Systems
  1709.          82 Second Avenue, S.E.
  1710.          New Brighton, Minnesota  55112
  1711.          (612) 631-3550
  1712.  
  1713.          Orchid Technology
  1714.          4790 Westinghouse Drive
  1715.          Fremont, CA 94539
  1716.          (415) 490-8586
  1717.  
  1718.          PC-SIG
  1719.          1030 E. Duane Ave Suite D
  1720.          Sunnyvale, CA 94086
  1721.          (408) 730-9291
  1722.  
  1723.          Prometheus Products Inc.
  1724.          4545 Cushing Parkway
  1725.          Fremont, CA  94538
  1726.          (415) 490-2370
  1727.  
  1728.          Quarterdeck Office Systems
  1729.          150 Pico Blvd.
  1730.          Santa Monica, CA 90405
  1731.          (213) 392-9701
  1732.  
  1733.          Racal-Vadic
  1734.          1525 McCarthy Blvd.
  1735.          Milpitas, California 95035
  1736.          (408) 774-0810
  1737.  
  1738.          The Software Link, Inc.
  1739.          8601 Dunwoody Place
  1740.          Suite 336
  1741.          Atlanta, GA  30338
  1742.          (404) 998-0700
  1743.  
  1744.          System Enhancement Associates
  1745.          21 New Street
  1746.          Wayne, NJ 07470
  1747.          (201) 473-5153
  1748.  
  1749.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page 4-6
  1750.  
  1751.          U.S. Robotics, Inc.
  1752.          Skokie, Illinois 60076
  1753.          (312) 982-5010
  1754.  
  1755.  
  1756.     Users who feel that they have benefitted or who appreciate  such commitment
  1757.     to the user community should write or call the  above vendors and tell them
  1758.     so, especially  if  such a  commitment  influenced the  purchase  of  their
  1759.     products.  Similarly,  if any user feels  that other vendors should  make a
  1760.     similar commitment to RBBS-PC and the user  community, write to that vendor
  1761.     and send a copy of your letter to the following addresses:
  1762.  
  1763.          Ken Goosens                   Doug Azzarito
  1764.          5020 Portsmouth Road          2399 N.W. 30th Road
  1765.          Fairfax, VA 22032             Boca Raton, FL 33431
  1766.  
  1767.     Section 20 describes the RBBS-PC  standard interface for protocol  drivers.
  1768.     All vendors of proprietary  protocols who would like to have  them added to
  1769.     future releases of RBBS-PC need do is simply conform to this interface.
  1770.  
  1771.     HOW TO GET A COPY OF RBBS-PC SENT TO YOU                           Page 5-1
  1772.  
  1773.     5. HOW TO GET A COPY OF RBBS-PC SENT TO YOU
  1774.     -------------------------------------------
  1775.     RBBS-PC can be obtained by sending a check for $8 to the:
  1776.  
  1777.          Capital PC Software Library
  1778.          51 Monroe Stree
  1779.          Plaza East Two
  1780.          Rockville, MD 20850
  1781.  
  1782.     RBBS-PC  is  distributed  on 360K  diskettes,  unless  otherwise requested.
  1783.     Allow  3 to  4  weeks for  delivery  (remember,  this is  an  all-volunteer
  1784.     effort).  Be sure to specify the version of RBBS-PC you want.  If you would
  1785.     like the  RBBS-PC source  code and  some utilities that  other SysOps  have
  1786.     found useful, send a second $8 with your order (a total of $16).
  1787.  
  1788.     The current version of RBBS-PC can also be obtained by writing to:
  1789.  
  1790.          Technology Consultants
  1791.          P.O. Box 811985
  1792.          Boca Raton, FL 33481-1985.
  1793.  
  1794.     Please enclose a check  for $10. (U.S.), which helps pay  for disks and 1st
  1795.     class postage (non-U.S. addresses, please enclose $25.).  You will  receive
  1796.     complete RBBS-PC  program, source  code, and as  many RBBS-PC  utilities as
  1797.     will fit on the media (specify 5.25" or 3.5" disks).
  1798.  
  1799.     RBBS-PC's .EXE  file  is distributed  after  having been  compiled  with  a
  1800.     QuickBASIC Version  3.00 compiler which has had  the DTR patch described in
  1801.     Appendix G applied to it.
  1802.  
  1803.     The exigencies of  RBBS-PC software releases may mean that the disk you get
  1804.     contains an  earlier version  of RBBS-PC  (either you  bought the  diskette
  1805.     sometime ago or there has been not enough time for it to be updated to this
  1806.     most current version).  Not to fear!   Your money has not been wasted.  The
  1807.     support  boards  listed in  section  4.1  should  make the  latest  version
  1808.     available for downloading.
  1809.  
  1810.     You can also pre-order the next release of RBBS-PC, to be air mailed to you
  1811.     immediately upon release, for $25.  See Appendix C for details.
  1812.  
  1813.     FILES RBBS-PC USES                                                 Page 6-1
  1814.  
  1815.     6. FILES RBBS-PC USES
  1816.     ---------------------
  1817.     There are essentially two types of files  that RBBS-PC uses -- "system" and
  1818.     "text" files.   "System"  files are  defined as  random files  that RBBS-PC
  1819.     reads  and writes  to.   "Text"  files are  defined as  files  that RBBS-PC
  1820.     primarily reads from.  Text files can  be edited externally to RBBS-PC with
  1821.     almost any text editor.  Either type of file  can be "static" or "variable"
  1822.     in length.   By "static" it  is meant that  these files have  a pre-defined
  1823.     length beyond which RBBS-PC  does not extend  them.  Similarly,  "variable"
  1824.     length  files  are defined  as  those  files  whose length  is  dynamically
  1825.     increased by  RBBS-PC.   (In some RBBS-PC  environments, only  the "static"
  1826.     length  files can be  shared SAFELY among  multiple nodes.)   The following
  1827.     table summarizes these files, using the default file names:
  1828.  
  1829.          "Static" Length Files         "Variable" Length Files
  1830.  
  1831.          MESSAGES (can be variable)    CALLERS        ARCWORK?.DEF
  1832.          USERS                         COMMENTS       NODE?WRK
  1833.          MESSAGES.BAK                  DOUT?.DEF      RBBS?F1.DEF
  1834.          USERS.BAK                     DK*.ARC        DORINFO?.DEF
  1835.          RBBS?PC.DEF                   DRST?.DEF
  1836.                                        99.DIR (upload directory)
  1837.  
  1838.     The following "text files" are "static" in length and can be shared safely:
  1839.  
  1840.          NEWUSER                       RBBS-CDR.DEF
  1841.          MENU0 --> MENUA               LG*.DEF
  1842.          BULLET, BULLET1 --> BULLET?   AUTOPAGE.DEF
  1843.          DIR.DIR, aa.DIR --> bb.DIR    CONFMAIL.DEF
  1844.          CDR.CDR, aa.CDR --> bb.CDR    RBBS-CDR.DEF
  1845.          FILESEC                       PROTO.DEF
  1846.          CONFENCE                      RBBS-REG.DEF
  1847.          *.PUI                         PRELOG.DEF
  1848.          PASSWRDS                      EPILOG.DEF
  1849.          *.HLP                         PRIV.DEF
  1850.          HELP??                        AUTOPAGE.DEF
  1851.          TRASHCAN                      RBBS?TM.DEF
  1852.          WELCOME                       MAIN.NWS
  1853.  
  1854.     In  a CORVUS OmniNet network  environment any of  the "static" length files
  1855.     can be  shared on a  common volume and  ALL of the "variable"  length files
  1856.     must be segregated on volumes unique to each copy of RBBS-PC.  RBBS-PC uses
  1857.     a RENAME function in order to determine if a file exists.  Because of this,
  1858.     all the  volumes  accessed by  any  RBBS-PC in  a  CORVUS network  must  be
  1859.     designated "read/write."  Therefore, you must be very  careful when running
  1860.     CONFIG.   CONFIG creates the definition file (RBBS?PC.DEF) for each copy of
  1861.     RBBS-PC.  See Appendix L for information regarding Corvus OmniNet).
  1862.  
  1863.     The one  file  that  cannot  be  shared is  the  Caller's  file.    RBBS-PC
  1864.     continually logs  to it and the activity of  multiple users would get mixed
  1865.     together.
  1866.  
  1867.     LOCKED FILE STATUS DISPLAY
  1868.  
  1869.     RBBS-PC displays  the  status of  those files  which must  be  locked in  a
  1870.     network environment  on line 25.   The lock status  of the message  file is
  1871.     displayed in  positions 68  & 69.   The  lock status  of the  user file  is
  1872.     displayed  in positions 71  & 72.   The lock  block status is  displayed in
  1873.  
  1874.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page 6-2
  1875.  
  1876.     positions 74 & 75 and comments/uploads share positions 77 & 78.  The letter
  1877.     "U" in the first position shows that the file is currently "UNLOCKED".  The
  1878.     letter "L" in the first position indicates that the file is "LOCKED".
  1879.  
  1880.     6.1 RBBS-PC Directory Structure
  1881.     -------------------------------
  1882.     The RBBS-PC package contains  many files, which can be  put nearly anywhere
  1883.     the SysOp desires.   However, to avoid confusion, the default locations for
  1884.     the RBBS-PC release files  are grouped logically  into subdirectories.   If
  1885.     the files are  not placed in the  proper subdirectory, RBBS-PC will  behave
  1886.     erratically until  you reconfigure  the file  locations with  CONFIG.   The
  1887.     directory is as follows:
  1888.  
  1889.          DEFAULT DIRECTORY (usually C:\RBBS)
  1890.               Contains RBBS-PC program,  message and user files,  INSTALL files
  1891.               and operational .BAT files.
  1892.  
  1893.          BULLETIN DIRECTORY (usually, C:\RBBS\BULLET)
  1894.               Contains the RBBS-PC bulletins and bulletin menu files.
  1895.  
  1896.          FILE CATALOG DIRECTORY (usually C:\RBBS\DIR)
  1897.               Contains the files needed to maintain the list of files available
  1898.               for download.
  1899.  
  1900.          DOC DIRECTORY (usually, C:\RBBS\DOC)
  1901.               Contains the RBBS-PC documentation.
  1902.  
  1903.          FILE DIRECTORY (usually, C:\RBBS\FILES)
  1904.               Contains the files  available to download.  Each  SysOp will want
  1905.               to expand this into a group of  directories.  Uploads may also be
  1906.               placed in this directory.
  1907.  
  1908.          HELP DIRECTORY (usually, C:\RBBS\HELP)
  1909.               Contains all online HELP files  for RBBS-PC, including help files
  1910.               created by the SysOp.
  1911.  
  1912.          FEATURE REMOVAL DIRECTORY (usually, C:\RBBS\LIT)
  1913.               Contains utilities for removing features from RBBS-PC in order to
  1914.               reduce executable code size.
  1915.  
  1916.          MACRO DIRECTORY (usually, C:\RBBS\MACROS)
  1917.               Contains the MACRO  files which allow the SysOp  to design custom
  1918.               RBBS-PC commands.
  1919.  
  1920.          NODE DIRECTORY (usually, C:\RBBS\NODE1)
  1921.               Contains the  files specific to each "node" of RBBS-PC.  A multi-
  1922.               node system  will have several  "node" subdirectories.   Files in
  1923.               this  subdirectory  include  CALLER  log  files,  RCTTY.BAT  door
  1924.               interface files, and timed-event semaphore files.
  1925.  
  1926.          PERSONAL DOWNLOAD DIRECTORY (usually, C:\RBBS\PRIVATE)
  1927.               Contains  the  directory  file for  RBBS-PC's  personal  download
  1928.               feature.
  1929.  
  1930.          QUESTIONNAIRE DIRECTORY (usually, C:\RBBS\QUESTION)
  1931.               Contains the RBBS-PC questionnaire files.
  1932.  
  1933.          SMALL EXECUTABLE DIRECTORY (usually, C:\RBBS\SMF)
  1934.  
  1935.     FILES RBBS-PC USES                                                 Page 6-3
  1936.  
  1937.               Contains  a  substitute  RBBS-PC.EXE  which  has  reduced  error-
  1938.               reporting, resulting in a smaller executable file.
  1939.  
  1940.          SOURCE CODE DIRECTORY (usually, C:\RBBS\SOURCE)
  1941.               Contains source code and .BAT files for recompiling RBBS-PC.
  1942.  
  1943.          SYSTEM DIRECTORY (usually, C:\RBBS\SYSTEM)
  1944.               Contains configuration files  used to customize RBBS-PC,  such as
  1945.               the PASSWRDS, FILESEC, CONFMAIL and DOORS.DEF files.
  1946.  
  1947.          TEXT DIRECTORY (usually, C:\RBBS\TEXT)
  1948.               Contains text files  seen by the  callers, including MENU  files,
  1949.               WELCOME, PRELOG and LG*.DEF.
  1950.  
  1951.          UTILITY DIRECTORY (usually, C:\RBBS\UTIL)
  1952.               Contains several utilities for maintaining your RBBS-PC.
  1953.  
  1954.          XFER DIRECTORY (usually, C:\RBBS\XFER)
  1955.               Contains the files necessary to  operate file transfer protocols,
  1956.               including PROTO.DEF, and various protocol drivers.
  1957.  
  1958.     Before moving any of these files, be  sure you are familiar with the CONFIG
  1959.     utility.    If  RBBS-PC  cannot  find  a  required  file,  the  results are
  1960.     UNPREDICTABLE!  The default directory structure is only offered as a guide.
  1961.     Each SysOp is encouraged to  arrange files in a way that  suits the SysOp's
  1962.     taste.
  1963.  
  1964.     6.2 RBBS-PC System Files
  1965.     ------------------------
  1966.     As shown above, "system" files are both static and variable in length.  The
  1967.     system files used by RBBS-PC are:
  1968.  
  1969.     MESSAGES       Often named  MAINM.DEF.   This file  is a  random file  that
  1970.                    contains  the  message  text  for  the RBBS-PC  system,  and
  1971.                    several special records (e.g. checkpoint  and node records).
  1972.                    The  first  record   in  the   file  contains  the   RBBS-PC
  1973.                    "checkpoint" record.  The records immediately following this
  1974.                    first record  are the RBBS-PC  "node" records.   From there,
  1975.                    the  rest  of the  file consists  of message  header records
  1976.                    which are followed  by the actual message text.   Appendix A
  1977.                    describes these  records, the  fields within  them, and  how
  1978.                    each field is used.   RBBS-PC expects  the MESSAGES file  to
  1979.                    exist, and to be in the proper format (CONFIG should be used
  1980.                    to create  this file).   When it loads,  if CONFIG  does not
  1981.                    find the MESSAGES file, or it finds one in pre-12.3A format,
  1982.                    CONFIG will  create it  and initialize  it to  the size  the
  1983.                    SysOp has  specified.  Because  of the special  fixed length
  1984.                    records in  this file,  it should not  be created  or edited
  1985.                    outside CONFIG.
  1986.  
  1987.     When the SysOp "packs"  the message file using CONFIG,  the current message
  1988.     file is preserved as MESSAGES.BAK, in case the "pack" is unsuccessful (i.e.
  1989.     not enough  space to duplicate  the message file).   If  the disk fills  up
  1990.     during the  pack  function, RBBS-PC  can  recover the  message  file  using
  1991.     MESSAGES.BAK.  When  the message file is successfully  packed, the original
  1992.     MESSAGES  file  is  renamed  MESSAGES.OLD,   and  MESSAGES.BAK  is  renamed
  1993.     MESSAGES.  CONFIG  will ask  whether you  want to delete  the old  MESSAGES
  1994.     file.   (Note that,  in a  multiple RBBS-PC  environment, the message  file
  1995.  
  1996.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page 6-4
  1997.  
  1998.     should only be "packed" when  none of the nodes are running.)  The MESSAGES
  1999.     file can be shared among multiple RBBS-PCs.
  2000.  
  2001.     USERS          Often named MAINU.DEF.   The USERS file  is a random  access
  2002.                    file  that has a  record for each  user of the  system.  The
  2003.                    record contains a profile for each user who has logged  onto
  2004.                    RBBS-PC.   Appendix A  describes the  format of  the records
  2005.                    within  the USERS  file.   These  records are  128 bytes  in
  2006.                    length and are  automatically  maintained  by RBBS-PC.   The
  2007.                    SysOp can  do some limited  editing using SysOp  Function 5.
  2008.                    RBBS-PC expects  the USERS file  to exist, and to  be in the
  2009.                    proper format (as with  the MESSAGES file, CONFIG  should be
  2010.                    used to  create this  file).   If CONFIG does  not find  the
  2011.                    USERS file on the system when it loads, it will create it to
  2012.                    the size specified by the SysOp.  The USERS file should  not
  2013.                    be created or  edited outside CONFIG (with  the exception of
  2014.                    certain  utilities specifically  designed for  this task  --
  2015.                    under NO circumstances  use a text editor to  edit the USERS
  2016.                    file).
  2017.  
  2018.     When the SysOp "packs"  the user file using CONFIG, the  current USERS file
  2019.     is preserved  as USERS.BAK, in  case the "pack"  is unsuccessful  (i.e. not
  2020.     enough space to duplicate the users file).  If the disk fills up during the
  2021.     pack function RBBS-PC will recover the USERS file from USERS.BAK.  When the
  2022.     users  file is  successfully packed,  the  original users  file is  renamed
  2023.     USERS.OLD and the  temporary file USERS.BAK is renamed USERS.   CONFIG will
  2024.     ask  whether you want to delete the old USERS file or not.  (Note that in a
  2025.     multiple RBBS-PC environment,  the USERS file should only  be "packed" when
  2026.     none  of the  nodes  are running.)   The  USERS  file can  be shared  among
  2027.     multiple RBBS-PC's.
  2028.  
  2029.     CALLERS        This file  is a random file that contains  a log of all your
  2030.                    caller's activities  as they  use the  system.   This is  an
  2031.                    ASCII file,  but it  is formatted  as 64  byte fixed  length
  2032.                    records with no carriage returns  or line feeds between  the
  2033.                    records.    If you  set  the "extended  logging"  feature of
  2034.                    RBBS-PC to  be  on, then  a  more detailed  record  of  each
  2035.                    caller's activity will be kept.   There are many "statistic"
  2036.                    and "bulletin" generating utilities which have been  written
  2037.                    to work with the CALLERS file.   If the CALLERS file is  not
  2038.                    found, RBBS-PC  will create  a new one  (no need  for CONFIG
  2039.                    here).  To clear the log, ERASE  the file.  The CALLERS file
  2040.                    can't be shared among multiple  nodes, because activity from
  2041.                    the  various nodes would  be mingled  together in  the file,
  2042.                    making it impossible to determine who did what, and when.
  2043.  
  2044.     ARCWORK?.DEF   This file is created  as output by the file view command and
  2045.                    contains the contents  of the  archived file being  inquired
  2046.                    against.  The node number replaces the wildcard "?".
  2047.  
  2048.     BULLET.FCK     This file is used to find new bulletins when NAMED bulletins
  2049.                    (rather  than  numbered  bulletins)  are  used.   It  should
  2050.                    contain a list  of NAMED bulletin file names,  one per line.
  2051.                    Numbered bulletins are automatically checked by RBBS-PC.
  2052.       
  2053.     COMMENTS       This file  is a sequential  file that contains  any comments
  2054.                    that have been left by users for the SysOp.  The file can be
  2055.                    scanned by a SysOp  function, or it can  be TYPEd or  edited
  2056.  
  2057.     FILES RBBS-PC USES                                                 Page 6-5
  2058.  
  2059.                    outside the RBBS-PC system.   A SysOp function is  available
  2060.                    to delete this file.  The file will be created by RBBS-PC if
  2061.                    it  is not found.  The COMMENTS  file cannot be shared among
  2062.                    multiple  RBBS-PC's  using  CORVUS'  "OMNINET",  but  can be
  2063.                    shared using other multi-user systems.
  2064.  
  2065.     Please note  that if you  have activated the  CONFIG parameter which  tells
  2066.     RBBS-PC to  store Comments to the SysOp as  privates messages to the SysOp,
  2067.     then this file will not be used.
  2068.  
  2069.     DK*.ARC        These files are created as  output by the Library Sub-System
  2070.                    archive program.   These work  files are  deleted each  time
  2071.                    RBBS-PC recycles.
  2072.  
  2073.     DOORS.DEF      This is the "doors  control file" used  by RBBS-PC to  allow
  2074.                    the SysOp more control  over access to  doors.  See  section
  2075.                    14.3.
  2076.  
  2077.     DORINFO?.DEF   This file  is created  by RBBS-PC when  a caller exits  to a
  2078.                    DOOR.  It contains information about the caller needed by  a
  2079.                    "DOOR" (see section 14.2.2).
  2080.  
  2081.     DOUT?.DEF      Used by doors to communicate back to RBBS-PC.
  2082.  
  2083.     DRST?.DEF      Internal file used by RBBS-PC  to restore itself upon return
  2084.                    from doors.
  2085.  
  2086.     NODE?WRK       This file is  created by RBBS-PC  when a caller exits  to an
  2087.                    external protocol  to do "batch"  downloads.  It  contains a
  2088.                    list of fully qualified file names to be downloaded.
  2089.  
  2090.     QMXFER.ERR     This file  is  created as  output  by QMXFER.COM  to  notify
  2091.                    RBBS-PC  of  the  results  of   an  external  file  protocol
  2092.                    transfer.
  2093.  
  2094.     RBBS?F1.DEF    This is the  file dynamically created  when the local  SysOp
  2095.                    exits to DOS.
  2096.  
  2097.     RBBS?PC.DEF    This is  an ASCII text file created  as output by the CONFIG
  2098.                    program.    It  contains the  configuration  parameters  for
  2099.                    RBBS-PC.  Each time RBBS-PC is run, it reads from this file.
  2100.                    In a multiple RBBS-PC environment,  the node definition file
  2101.                    for each RBBS-PC is named RBBSxPC.DEF (where "x" is a number
  2102.                    1 to 9,  0 meaning the tenth node,  and A through Z  for the
  2103.                    11th  through the  36th node).    In a  single user  RBBS-PC
  2104.                    environment, the name will be RBBS-PC.DEF.
  2105.  
  2106.     While this file  CAN be  edited with  a text editor,  and many  experienced
  2107.     RBBS-PC  SysOps  do  this,  you  might  have  difficulty determining  which
  2108.     parameter is which  and how the  various parameters work together.   Unless
  2109.     you are  QUITE SURE of what you are doing, we recommend that you use CONFIG
  2110.     to alter your RBBS-PC.DEF files.
  2111.  
  2112.     99.DIR         The is the  default filename for the file  RBBS-PC builds to
  2113.                    hold the  name, file size, date, and description appended to
  2114.                    it of files that have been uploaded.  The 99.DIR file cannot
  2115.                    be shared among multiple RBBS-PC's using CORVUS's "OMNINET",
  2116.                    but can be shared on other multi-user systems.
  2117.  
  2118.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page 6-6
  2119.  
  2120.     6.3 RBBS-PC's Graphics Support
  2121.     ------------------------------
  2122.     RBBS-PC can display three different "flavors" of text files:
  2123.  
  2124.        - Non-graphic text, consisting of the 128 ASCII characters
  2125.        - Graphic text, consisting of the 256-character IBM character set
  2126.        - ANSI color graphics,  which include ANSI terminal  commands to display
  2127.          color, position text on the screen, and play music.
  2128.  
  2129.     The "flavor" seen is based on the user's current graphics option (which can
  2130.     be changed with the Graphics command on the Utility menu).   In order for a
  2131.     user to see  either Graphics or ANSI  color, the following items  must have
  2132.     occurred:
  2133.  
  2134.        - The caller must have logged on with 8 bit word, no parity,  and 1 stop
  2135.          bit.
  2136.        - The   caller   must  have   selected   graphics  (either   "ASCII"  or
  2137.          "Color-IBM"), and  the  file must  exist  with a  filename  ending  in
  2138.          either:
  2139.               "G"  For Graphic files, or
  2140.               "C"  For ANSI Color files
  2141.        - The caller's hardware and software must support the "flavor" selected.
  2142.          All IBM PCs and  compatibles support Graphics,  and most will  support
  2143.          ANSI  Color, if  the right  device driver  is  loaded on  the caller's
  2144.          system.
  2145.      
  2146.     RBBS-PC will check to see if a "graphics" file exists by appending a "G" or
  2147.     "C" to the file name (e.g. MAINC.NWS instead  of MAIN.NWS).  If such a file
  2148.     can't  be found, RBBS-PC  will check to  see if a  non-graphics file exists
  2149.     (i.e. one  without the "G" or "C").  RBBS-PC will display the first file it
  2150.     finds.
  2151.  
  2152.     6.4 RBBS-PC Text Files
  2153.     ----------------------
  2154.     The RBBS-PC  "text" files  are both  static and  variable in  length.   The
  2155.     "text" files used by RBBS-PC are:
  2156.  
  2157.     AUTOPAGE.DEF   This is a text file setup by the  SysOp that informs RBBS-PC
  2158.                    of  which  caller, callers,  or  group of  callers  that the
  2159.                    system should automatically "page" the SysOp as soon as they
  2160.                    log on.  See section 7.11.
  2161.  
  2162.     BULLET         This  is  a text  menu  file  that describes  the  BULLETINS
  2163.                    available on RBBS-PC.  It is displayed following the WELCOME
  2164.                    file when  a  user first  enters  the system.    It must  be
  2165.                    present if  CONFIG parameter 43 is  greater than 1.   It can
  2166.                    also  be  called from  the  main  menu with  the  B)ulletins
  2167.                    command.
  2168.  
  2169.     BULLET1 --> BULLET99
  2170.                    There can  be 1  to 99  numbered "bulletins", and  virtually
  2171.                    unlimited  named  bulletins.   RBBS-PC  will  check  for the
  2172.                    existence of a file whose name consists of the prefix  given
  2173.                    by parameter 44 of CONFIG appended with the bulletin  number
  2174.                    and using parameter  41 of CONFIG to determine  the drive to
  2175.                    find the bulletin on.
  2176.  
  2177.     FILES RBBS-PC USES                                                 Page 6-7
  2178.  
  2179.     CONFENCE       Displayed  to users  who issue  the J)oin function  from the
  2180.                    main menu.   It can be created  by any text editor  that can
  2181.                    create an  ASCII  file and  should  contain a  list  of  the
  2182.                    available conferences.
  2183.  
  2184.     CONFMAIL.DEF   This is a text file setup by  the SysOp to notify callers of
  2185.                    the mail they have waiting in specific (or all) conferences.
  2186.                    See section 18.
  2187.  
  2188.     DIR.DIR, *.DIR
  2189.                    The  DIR.DIR file,  which can  be renamed  using the  CONFIG
  2190.                    utility, is a text file which contains a listing of all  the
  2191.                    categories in your  FMS.DIR (FMS  = File Management  System,
  2192.                    see section 12).  Each of these categories has to be linked,
  2193.                    via a code, to the entries in  the FMS.DIR file, and this is
  2194.                    done via the DIR.CAT file.
  2195.  
  2196.     If you  are NOT  using FMS-style  directories,  but rather  want your  file
  2197.     catalogs to be normal  ASCII text files, then you need to create a separate
  2198.     file  for each category listed in DIR.DIR.   Each listing will be in a file
  2199.     *.DIR, where the wildcard "*" is the category code from DIR.DIR.
  2200.  
  2201.     The DIR.DIR  file is  not optional,  since whether  you're using  FMS-style
  2202.     directories or not,  you still need to  present your list of  categories to
  2203.     the  caller.    Using FMS-style  directories  allows  you to  keep  all the
  2204.     downloadable files  listed in one big  file (or several smaller  ones), and
  2205.     use category "codes"  within that file  to group them.   Without FMS,  each
  2206.     category code has to be its own "directory".
  2207.  
  2208.     DIR.CDR, *.CDR
  2209.                    At least one  DIR.CDR file has to  be present on one  of the
  2210.                    drives available  for downloading if  the Library Sub-System
  2211.                    support has been activated.   Alternative directories, *.CDR
  2212.                    should be reflected in the DIR.CDR file.
  2213.  
  2214.     EPILOG.DEF     This is the default name for the questionnaire that is shown
  2215.                    to users  as they  log off.  It can  be either  an extensive
  2216.                    "poll" (which frequent users would find tedious) or a simple
  2217.                    thank you.  Or, you omit this file entirely.
  2218.  
  2219.     FILESEC        This file controls  which security levels can  download from
  2220.                    which paths, and it is more fully described in section 15.4.
  2221.  
  2222.     HELP           There  is a help file for  each command which has the format
  2223.                    xy.HLP, where x  is the first letter of  the section (M,F,U)
  2224.                    and y  is the  command letter, except  for global  and SysOp
  2225.                    commands, which have the  format y.HLP.   There are also the
  2226.                    following special help files:
  2227.  
  2228.     HELP03         Describes the message protection options when <?> is entered
  2229.                    after the message  <E>nter command is  executed at the  main
  2230.                    message menu.
  2231.  
  2232.     HELP04         Describes the message entry subfunctions when <?> is entered
  2233.                    at the subfunction prompt.
  2234.  
  2235.     HELP07         Describes the message read options when <?> is entered while
  2236.                    reading messages.
  2237.  
  2238.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page 6-8
  2239.  
  2240.     HELP09         Displayed when  <H>elp is requested for the type of graphics
  2241.                    a user wants (none, ASCII, color/music).
  2242.  
  2243.     FILE.HLP       Displayed  when  <H>elp is  entered  in the  files subsystem
  2244.                    function prompt.
  2245.  
  2246.     LIBR.HLP       Displayed  when  <H>elp   is  entered  within  the   library
  2247.                    subsystem.
  2248.  
  2249.     MAIN.HLP       Displayed  when  <H>elp is  requested  on the  main function
  2250.                    prompt.  It contains command information.
  2251.  
  2252.     RGXPIRD.HLP    Displayed to users when their registration has expired.  See
  2253.                    section 9.
  2254.  
  2255.     RGXPIRE.HLP    Displayed  to  users  when their  registration  is  about to
  2256.                    expire.  See section 9.
  2257.  
  2258.     SECVIO.HLP     If this file is present, it is shown to the caller each time
  2259.                    a security violation occurs.
  2260.  
  2261.     SMARTTXT.HLP   Illustrates the  use of  embedded commands  within any  text
  2262.                    file displayed  by RBBS-PC  that causes the  text to  appear
  2263.                    personalized to  the caller.   See  section 7.9  for a  more
  2264.                    complete description of this feature.
  2265.  
  2266.     UPCAT.HLP      Used to help users categorize their uploads.
  2267.  
  2268.     UTIL.HLP       Displayed when <H>elp is requested  in the utility subsystem
  2269.                    function prompt.
  2270.  
  2271.     LG*.DEF        This is the file  displayed, if present,  to users based  on
  2272.                    security level when the caller logs on.  The wildcard "*" is
  2273.                    the security  level of  the users who  would see  this file.
  2274.                    For  instance,  this   allows  the   SysOp  to  provide   an
  2275.                    explanation for callers whose security level falls below the
  2276.                    minimum to  log on,  or it  can also  be used  to provide  a
  2277.                    "personalized" welcome to users who have a specific security
  2278.                    level.  Some examples are:
  2279.  
  2280.                                                                                
  2281.      Security    File name        Sample text for level greeting file          
  2282.        Level                                                                   
  2283.                                                                                
  2284.          9         LG9.DEF   "Hi, nice to have another SysOp call in."         
  2285.                                                                                
  2286.          6         LG6.DEF   "Registered users are the most appreciated."      
  2287.                                                                                
  2288.          4         LG4.DEF   "Too many security violations."                   
  2289.                                                                                
  2290.         -1        LG-1.DEF   "Your behavior has been inappropriate."           
  2291.                                                                                
  2292.       -9999    LG-9999.DEF   Special "BBS verification" message for the U.S.   
  2293.                              BBS listing (Appendix B).                         
  2294.                                                                                
  2295.  
  2296.     FILES RBBS-PC USES                                                 Page 6-9
  2297.  
  2298.     MAIN.NWS       The "news" file for  the main message  base.  If you  rename
  2299.                    your  users  and  messages to  XYZU.DEF  and  XYZM.DEF, then
  2300.                    "XYZ.NWS" would be the news file.  See section 7.13.
  2301.  
  2302.     MAIN.PUI       This is the programmable user interface file that allows the
  2303.                    SysOp to  structure the  RBBS-PC commands  as desired.   See
  2304.                    section 7.6 for a description of the PUI.
  2305.  
  2306.     MENU*          These  contain  the local  SysOp  menu and  menu  of various
  2307.                    commands for the subsystems.
  2308.  
  2309.     NEWUSER        This  is a text  file that is  displayed for new  users just
  2310.                    before registration occurs.
  2311.  
  2312.     PASSWRDS       This  file   controls  which   security  levels  get   which
  2313.                    privileges, and is more fully described in section 15.3.
  2314.  
  2315.     PRELOG         Displayed to callers  prior to  asking for their  first/last
  2316.                    name and password.
  2317.  
  2318.     PRIV.DEF       This  file  contains  the  information  used  for  "personal
  2319.                    downloading", described in section 12.7.
  2320.  
  2321.     RBBS-CDR.DEF   A text file  that contains the disk numbers,  paths and disk
  2322.                    titles of  disks available  to the  Library subsystem.   The
  2323.                    format of  the  file is  described  in section  12.6.    The
  2324.                    RBBS-CDR.DEF  (and  matching  FMS  directory)  file  can  be
  2325.                    downloaded from  Doug Azzarito's BBS.  It is not distributed
  2326.                    with RBBS-PC because of it's size (500K).
  2327.  
  2328.     RBBS-REG.DEF   This is the default name for the questionnaire that is asked
  2329.                    of all new users  who log on.  The "new  user" questionnaire
  2330.                    is only seen once, by new users.  This file is optional.
  2331.  
  2332.     TRASHCAN       A  text  file  that  contains  names  that the  SysOp  finds
  2333.                    objectionable and does not want used as either a users first
  2334.                    or last name.  RBBS-PC uses this file, if it exists, to deny
  2335.                    access to anyone  using one of these names  for either their
  2336.                    first or last name.
  2337.  
  2338.     WELCOME        A text  file that  a user first  sees upon logging  onto the
  2339.                    system.  Similarly  each "conference"  can have a  "welcome"
  2340.                    file by having  a file whose last  character ended in a  "w"
  2341.                    (i.e.  conference  "RBBS" would  have  a message  file named
  2342.                    RBBSM.DEF and  a user  file named  RBBSU.DEF if  it where  a
  2343.                    "private" conference and a welcome file named RBBSW.DEF).
  2344.  
  2345.     PLANNING YOUR USER INTERFACE                                       Page 7-1
  2346.  
  2347.     7. PLANNING YOUR USER INTERFACE
  2348.     --------------------------------
  2349.     RBBS-PC  provides each SysOp the maximum control  over what is presented to
  2350.     callers.  There are three areas of control:
  2351.  
  2352.        - The menus presented to novice callers.
  2353.        - What is included in the prompt all users get.
  2354.        - What symbol invokes a particular function.
  2355.  
  2356.     7.1 Taking User Input:  Help, Command Stacking, and Hotkeys
  2357.     -----------------------------------------------------------
  2358.     RBBS-PC tries hard  to make the  BBS helpful and  intuitive to the  novice,
  2359.     without straightjacketing and frustrating  the expert BBS  user.    Callers
  2360.     can declare themselves to be "experts" or "novices".    Novices get
  2361.  
  2362.          o    fuller words displayed in prompts
  2363.  
  2364.          o    menus automatically display that explain choices.
  2365.  
  2366.     Menus are generally not displayed  to experts unless specifically requested
  2367.     by entering "?",  and options are usually  reduced to a single  letter like
  2368.     "E" rather  than words like "E)nter msg".    The general idea is that after
  2369.     you get familiar  with the BBS  and learn what  the options mean, the  more
  2370.     experienced  user can  operate faster  with less  prompting.   In  most all
  2371.     contexts, "H"  can  be entered  to ask  for extended  help  - usually,  the
  2372.     display of a special help file for than context.
  2373.  
  2374.     RBBS-PC also  supports having  a "default" choice  gotten by  just pressing
  2375.     Enter.   This  will be indicated  in the prompt by  enclosing it in  square
  2376.     brackets, such as "[Y]es".   If  you have highlighting on, the default will
  2377.     also be highlighted in color.
  2378.  
  2379.     Many options in RBBS-PC require only the  selection of a single character. 
  2380.     The  caller can elect to  have RBBS "run" with any  key pressed rather than
  2381.     wait for  Enter to  be pressed  by electing  to use  "Turbokeys" as  a user
  2382.     preference.  With  turbokeys off,  the BBS  waits for Enter  to be  pressed
  2383.     before  trying to execute  a command.     The pause for  Enter is  an extra
  2384.     delay, but gives the caller time to reflect  on whether the choice is right
  2385.     and make  any needed  corrections.    The  user can  elect to  go with  the
  2386.     speedier but more error prone  hotkeys option.   RBBS-PC lets the user with
  2387.     turbokeys on know that a single keystroke is expected and will run with any
  2388.     response by making the prompt end in "!".   Prompts expecting more than one
  2389.     keystroke and waiting for Enter to be pressed end with the normal "?".
  2390.  
  2391.     The fastest and most powerful way for the expert user to respond to RBBS-PC
  2392.     is to use "command stacking".   Here,  on the single line the user types in
  2393.     a response to a  prompt even before the prompt is displayed.    Experienced
  2394.     callers know in  advance what they will  be asked next and  can stack their
  2395.     responses in  advance.    The  advantage of  command stacking  is that  the
  2396.     prompts and menus  will never even be displayed.   The first opportunity to
  2397.     use command stacking is on the logon, where rbbs will typing ask:
  2398.  
  2399.          What is your FIRST name? John
  2400.          What is your  LAST name? Doe
  2401.          Enter your password? secret
  2402.  
  2403.     The answers can be stacked as follows:
  2404.  
  2405.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page 7-2
  2406.  
  2407.          What is your FIRST name? John Doe secret
  2408.  
  2409.     A special feature  within command  stacking on  logon is what  is known  as
  2410.     "turbo  logon".   The "!"  as the 4th parameter  means to "turbo logon" and
  2411.     simply blow by all the prompts and reports - welcomes, news, uploads  - and
  2412.     jump immediately to the main command line.   Stacking can continue even for
  2413.     this main command line, as in
  2414.  
  2415.          What is your FIRST name? John Doe secret ! r m s
  2416.  
  2417.     to Read My mail  Since last on.    Notice that  this feature makes it  very
  2418.     easy to automate or script interactions with RBBS-PC.   For example, if all
  2419.     you want  to do is to  download file1 and log  off, a single command  to do
  2420.     that would be
  2421.  
  2422.          What is your FIRST name? John Doe secret ! f d file1 z /g
  2423.  
  2424.     The "/g"  is a  command modifier  than can  be entered  at the  end of  any
  2425.     command and means to log off if the previous commands execute successfully.
  2426.  
  2427.     RBBS should support command stacking universally and up to 255 levels deep,
  2428.     using the general  principle that a future prompt can be pre-empted and the
  2429.     answer given in advance by typing what you would enter to the prompt on the
  2430.     command line as a  word.   For example, at the main command  line "q u t t"
  2431.     will Quit  to Utilities, and  Toggle Turbokeys.    If  you need to  stack a
  2432.     space  as  part  of the  prompt,  using  ";" as  a  separator  between your
  2433.     responses.   Thus, "e;tom  jones" could  say to  E)nter a  message to  "Tom
  2434.     Jones".  Whereas "e tom jones" would be interpreted to  E)nter a message to
  2435.     "Tom" with subject "jones", since the prompt for subject occurs right after
  2436.     who the message is to.
  2437.  
  2438.     Finally, if you are  in turbokey mode and  would like to stack, begin  your
  2439.     command with "/".    This will  temporarily suspend turbokeys for  this one
  2440.     command and wait for Enter.
  2441.  
  2442.     7.2 Menus Shown to Callers
  2443.     --------------------------
  2444.     The menus  in RBBS-PC are external text files  that are presented to novice
  2445.     users.  RBBS-PC  simply displays  what is  in these files  to the  callers.
  2446.     Therefore, SysOps are  free to change the  text in these files  to whatever
  2447.     they desire.   Simply edit the  files.  However, be  sure to use  an editor
  2448.     that produces only ASCII  text files with  no special embedded  characters.
  2449.     Most word processing  editors are not suitable because  they insert special
  2450.     symbols in the file meaningful only to it.  Menus can also contain graphics
  2451.     and color (see section 6.3).
  2452.  
  2453.     7.3 Subsystem Prompts Shown to Callers
  2454.     --------------------------------------
  2455.     RBBS-PC has several configuration options which allow each SysOp to  select
  2456.     the prompts that are presented to callers.  They are:
  2457.  
  2458.        - Whether the section name is displayed.
  2459.        - Whether the letters of the available commands are shown.
  2460.  
  2461.     The  commands in  RBBS-PC  are divided  into  four sections:   MAIN,  FILE,
  2462.     UTILITY and LIBRARY.  If RBBS-PC is configured to display the section name,
  2463.     the command prompt will read "<section> command", otherwise "Your command".
  2464.     The section name is shown by default.
  2465.  
  2466.     PLANNING YOUR USER INTERFACE                                       Page 7-3
  2467.  
  2468.     RBBS-PC normally  prompts  a  caller  with  the  commands  the  caller  has
  2469.     sufficient security  to invoke.   Each command  is a  single letter  and is
  2470.     shown separated from the  others by a  comma.  The  command letters can  be
  2471.     suppressed in the prompt.  By leaving them on, a SysOp provides each caller
  2472.     with a terse but helpful reminder of what commands are available to them.
  2473.  
  2474.     7.4 Commands Available to Callers
  2475.     ---------------------------------
  2476.     All primary commands in RBBS-PC are invoked  by single letter commands.  An
  2477.     attempt is  made to associate the command  with the first letter  in a word
  2478.     which describes the  function, so that the  command letter appears to  be a
  2479.     short abbreviation  for the  longer word.   The command  to invoke  reading
  2480.     messages is R.  The default symbols that would be shown in the command line
  2481.     for each section are:
  2482.  
  2483.     sect |? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y 1 2 3 4 5 6 7
  2484.     -----|-------------------------------------------------------------------
  2485.     MAIN |? @ A B C D E F   H I J K       O P Q R S T   V W X   1 2 3 4 5 6 7
  2486.          |
  2487.     FILE |?         D     G H       L   N   P Q   S   U V   X
  2488.          |
  2489.     UTIL |?     B C   E F G H       L M     P Q R S T U     X
  2490.          |
  2491.     LIB  |?   A   C D     G H       L         Q   S     V   X
  2492.          |
  2493.     GLBL |?                 H                 Q             X
  2494.  
  2495.     Four commands, ? H Q and X, have  the same meaning in every section and are
  2496.     known  as "global."  The  other commands all  have unique function specific
  2497.     for the section within  which they are invoked.  For  example, S stands for
  2498.     S)can messages  in MAIN, S)earch  in FILE  and LIBRARY, and  S)tatistics in
  2499.     UTIL.  Symbols 1-7 are used for SysOp functions.
  2500.  
  2501.     RBBS-PC allows the SysOp to substitute  any symbol for any command.   Y)ell
  2502.     may be  substituted for O)perator page,  or Y)our mail  for P)ersonal mail.
  2503.     If a  blank is substituted, the command is removed  from the list and is no
  2504.     longer available.
  2505.  
  2506.     7.5 RBBS-PC's "Wrap-around" Command Search
  2507.     ------------------------------------------
  2508.     There is  an option in CONFIG which gives  the SysOp unusual flexibility in
  2509.     configuring  the user  interface.    A caller  is  always  "in" a  section.
  2510.     RBBS-PC considers the user's current section when  acting on commands.  The
  2511.     "wrap around"  option allows RBBS-PC to look further  for a command when it
  2512.     is  not found in the  section the caller is  in.  If  a SysOp substitutes a
  2513.     blank for the V>iew conference command in the main section (as mentioned in
  2514.     section 7.3) and  a user enters  the V command  from the main  section, the
  2515.     V)iew archive file command would be what the caller would have invoked.
  2516.  
  2517.     The fundamental idea is to look further in other sections, where the search
  2518.     order is circular, starting  at the current section, and  proceeding in the
  2519.     following order:
  2520.  
  2521.                -MAIN->FILE->UTIL->LIBRARY->GLOBAL->SYSOP-
  2522.               |                                          |
  2523.                -------------------<----------------------
  2524.  
  2525.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page 7-4
  2526.  
  2527.     If wrap-around is used, RBBS-PC will search ALL sections, in order, to find
  2528.     a valid command that matches the user's input.  Even  if wrap-around is not
  2529.     used, GLOBAL and SYSOP commands are processed globally.
  2530.  
  2531.     The  important feature that  wrap-around supports is that  a command with a
  2532.     unique letter works  in all sections.   Thus W)ho  will work everywhere  if
  2533.     wrap-around is enabled.  If every RBBS-PC command is given a unique symbol,
  2534.     all commands  become global  and there is  no effective  difference between
  2535.     sections.  This allows SysOps to make  commands available on a single level
  2536.     and makes it  unnecessary to "go"  to a section  before using a command  in
  2537.     that section.
  2538.  
  2539.     7.6 How to Have a Single Universal Command Line
  2540.     ------------------------------------------------
  2541.     The command structure  within RBBS-PC can be made  "flatter" without making
  2542.     it absolutely flat.  Suppose, for example, that a SysOp wants callers to be
  2543.     able to do all file functions without going to a files section.  In effect,
  2544.     the file functions are  available in the main section, or  the file section
  2545.     is merged into the main section.  To do this, the SysOp must eliminate  the
  2546.     overlap in command letters between the two sections.
  2547.  
  2548.     The main section and the file section share the  letters D, P, S, and V.  V
  2549.     is  used to  "view" a conference  in the  main section  and "view"  what is
  2550.     contained in an  archived file.   D  is difficult because  both D)oors  and
  2551.     D)ownload are entrenched  and natural options.   One could leave D  for the
  2552.     most  frequently  used function,  say  download,  then  use a  special  but
  2553.     arbitrary symbol like # for  doors.  Similarly, V could be left for viewing
  2554.     conference mail in the main section and a special but arbitrary symbol like
  2555.     & for  viewing archived files in the file  section.  S)earch for substrings
  2556.     could be replaced by F)ind since F for going to F)iles is no longer needed.
  2557.     This could be  accomplished by disabling F)iles and substituting F for S in
  2558.     the files commands.
  2559.  
  2560.     P  is used for personal mail in the  main section as well as personal files
  2561.     in the file section.   Leaving P in the main section for  personal mail and
  2562.     selecting the symbol M for personal mail in the file section would have the
  2563.     least impact on callers.
  2564.  
  2565.     U is used for upload.  Since Quit may be used to go to UTIL, we can disable
  2566.     U in the main menu.  We can use W for W)rite user preferences and F to find
  2567.     who else is on  (since the F  for FILES section is  no longer needed).   We
  2568.     could then revise the main menu to read:
  2569.  
  2570.                           R B B S   M A I N   M E N U
  2571.                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2572.     [A]nswer survey [H]elp (or ?)     [P]ersonal mail   [U]pload a file
  2573.     [B]ulletins     [I]nitial welcome [$]Personal files [V]iew conference mail
  2574.     [C]omments      [J]oin conference [Q]uit            [&]View files
  2575.     [#]DOORS        [K]ill message    [R]ead messages   [W]rite user pref
  2576.     [D]ownload      [L]ist files      [S]can messages   [X]pert on/off
  2577.     [E]nter msg     [N]ew files       [T]opic msg scan  [Z]ippy search
  2578.     [F]ind who's on [O]perator page                     [@]Library
  2579.     [G]oodbye
  2580.  
  2581.     Obviously the limitations of using a single section (as  the more primitive
  2582.     bulletin board  systems  do) means  that  the number  of  commands must  be
  2583.     restricted to either
  2584.  
  2585.     PLANNING YOUR USER INTERFACE                                       Page 7-5
  2586.  
  2587.        - 26 (letters in the alphabet), or
  2588.        - 36 (letters in the alphabet plus the numbers 0 through 9), or
  2589.        - full "words".
  2590.  
  2591.     With  this  artificial limitation  of  a  single  section, commands  become
  2592.     limited  in number, cryptic, or both.  If  the even more clumsy use of full
  2593.     "words" is  chosen,  the system  must slow  down as  it can  no longer  act
  2594.     immediately upon seeing the first character of a command as RBBS-PC does.
  2595.  
  2596.     However, assuming that someone would actually want to configure RBBS-PC  to
  2597.     be "flat" (i.e. have a single command line), let us continue.  In order not
  2598.     to confuse  the caller by being  in a section  and seeing only some  of the
  2599.     commands we want him  to use, the SysOp could elect not to show the section
  2600.     in the prompt  (CONFIG parameter 37) and  not to show the  commands (CONFIG
  2601.     parameter 38).  Callers would  see simply  "Your command?"  as the  prompt.
  2602.     This makes the expert mode quite  terse, but that simply means users  would
  2603.     spend more time in novice mode before using expert.
  2604.  
  2605.     Now suppose  that  only a  single command  line was  desired  and that  the
  2606.     commands from the "Utilities" menu commands were to be added to the above.
  2607.     The  "global" H, ?,  Q, and  X commands already  are in  the single command
  2608.     line.
  2609.  
  2610.     M  for  message margin  can  remain unchanged  since  it is  unique  to the
  2611.     Utilities subsystem.
  2612.  
  2613.     In order to accommodate the  redundancy of letters that exist by  including
  2614.     the Utilities  subsystem's commands,  the W  command for  the main  message
  2615.     subsystem can be re-enabled and the remote SysOps commands be eliminated in
  2616.     order to re-use the numbers.  The  Utilities subsystem commands B, C, F, G,
  2617.     L,  R, and  S could  then be  replaced by  the numbers  1 through  9.   The
  2618.     Utilities  subsystem commands  T, U,  E,  and P  could be  replaced  by the
  2619.     commands <, >, \, and !, respectively.
  2620.  
  2621.     This  final menu  of all RBBS-PC  commands could be  re-written without any
  2622.     apparent sub-sections as follows  and the screen that  would appear to  the
  2623.     "novice" users as:
  2624.  
  2625.                           R B B S  C O M M A N D S
  2626.                           ~~~~~~~~~~~~~~~~~~~~~~~~
  2627.     [A]nswer survey    [O]perator page        [1] Bank Time
  2628.     [B]ulletins        [$]Personal files      [2] Display time of day
  2629.     [C]omments         [P]ersonal mail        [3] Set file transfer protocol
  2630.     [#]DOORS           [Q]uit                 [4] Set type of graphics mode
  2631.     [D]ownload         [R]ead messages        [5] Set page length
  2632.     [E]nter msg        [S]can messages        [8] Review callers preferences
  2633.     [G]oodbye          [T]opic msg scan       [9] Display system statistics
  2634.     [H]elp (or ?)      [U]pload a file        [<] Toggle users options on/off
  2635.     [I]nitial welcome  [V]iew conference mail [>] Show the log of callers
  2636.     [J]oin conference  [&]View files          [@] Library
  2637.     [K]ill message     [W]ho's on other nodes [\] Change echo selection
  2638.     [L]ist files       [X]pert on/off         [!] Change password
  2639.     [M]argin set       [Z]ippy search
  2640.     [N]ew files
  2641.  
  2642.     Your command?
  2643.  
  2644.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page 7-6
  2645.  
  2646.     7.7 RBBS-PC'S Programmable User Interface (PUI)
  2647.     -----------------------------------------------
  2648.     The programmable user interface  (PUI, pronounced "pee  you eye") lets  the
  2649.     SysOp take TOTAL CONTROL over what the caller is presented with, including:
  2650.  
  2651.        - the novice menu
  2652.        - the prompt line
  2653.        - the organization of commands into groups (sections)
  2654.        - the flow between sections
  2655.        - unlimited levels of nested menus.
  2656.  
  2657.     This allows  the RBBS-PC  interface that  the caller  sees to  take on  any
  2658.     appearance desired by  the SysOp.  In effect, the SysOp  is limited only by
  2659.     the intrinsic functions  of RBBS-PC that have been  programmed into RBBS-PC
  2660.     source code.  These functions can be assigned any command letter desired in
  2661.     CONFIG.   PUI  lets the  SysOp completely  control how  these commands  are
  2662.     presented to  the user - allowing RBBS-PC  to "emulate" virtually any other
  2663.     host communications environment  that the SysOp's  callers may be  familiar
  2664.     with.
  2665.  
  2666.     If no PUI  is provided, RBBS-PC  defaults to dividing  the commands into  a
  2667.     MAIN, FILES, UTILITIES, and LIBRARY section.
  2668.  
  2669.     RBBS-PC's PUI  gives each SysOp the  flexibility to tailor  RBBS-PC to meet
  2670.     special needs.  In effect, RBBS-PC's PUI allows the SysOp to adjust RBBS-PC
  2671.     to what the  SysOp wants, rather than forcing the SysOp  and his callers to
  2672.     conform to RBBS-PC.
  2673.  
  2674.     However, unlike RBBS-PC,  the PUI does not  adjust the prompt to  show only
  2675.     the commands that the user has sufficient  security to do.  And, of course,
  2676.     PUI takes much more time to design and implement.
  2677.  
  2678.     When  the SysOp takes  control of what  the user is presented  by using the
  2679.     PUI, RBBS-PC does what the SysOp has explicitly set up -- and nothing else!
  2680.     For example, RBBS-PC's "global" commands, like help and the expert  toggle,
  2681.     are no longer automatically available everywhere.  They are available  only
  2682.     where the SysOp has indicated via the PUI.
  2683.  
  2684.     RBBS-PC's default user interface  has evolved over  the years to  represent
  2685.     what the callers found useful (not the SysOps!).  A great deal of time  and
  2686.     thought went  into RBBS-PC's  default user  interface, and  it  is easy  to
  2687.     overlook important things  when a SysOp  goes about setting  up his or  her
  2688.     own.  When using the PUI assume that a new user interface will take time to
  2689.     both develop  and refine (based  on your callers feedback).   Designing and
  2690.     implementing a PUI is not a simple undertaking as it is a total replacement
  2691.     for RBBS-PC's standard user interface.
  2692.  
  2693.     7.7.1 An Example Using PUI
  2694.     --------------------------
  2695.     The main  menu in RBBS-PC can represent  a bewildering variety of commands,
  2696.     especially to a new  user.  Studies show that human  beings can effectively
  2697.     deal with at most  7 choices at one time, whereas RBBS-PC  has 10 more than
  2698.     that in its main section.   To help people in this situation, the different
  2699.     choices in RBBS-PC are  grouped into related commands, but the  choices can
  2700.     still be overwhelming.  Some SysOps have tried to simplify the main menu by
  2701.     breaking it up into more sections.   The most tempting group of commands to
  2702.     spin off  are  the message  commands.   Suppose  the  main menu  is  to  be
  2703.     simplified to look like:
  2704.  
  2705.     PLANNING YOUR USER INTERFACE                                       Page 7-7
  2706.  
  2707.          <F>iles
  2708.          <M>ail
  2709.          <U>ser preferences
  2710.          <G>oodbye
  2711.  
  2712.     The <M>ail command puts  the caller in a section where  commands related to
  2713.     messages  become available in yet  another menu, such  as J)oin and E)nter.
  2714.     PUI is required  because the commands are grouped  into different sections.
  2715.     While  the  default  menu of  RBBS-PC  could  be edited  to  say  this, the
  2716.     underlying commands would not be grouped as desired.
  2717.  
  2718.     7.7.2 How to Implement PUI
  2719.     --------------------------
  2720.     First, plan carefully on paper  exactly what you want the caller to see and
  2721.     what happens with each command.  Consider also, if you  have a submenu, how
  2722.     users are to get out of it.
  2723.  
  2724.     Each menu  or section  of PUI is  controlled by  a file whose  extension is
  2725.     "PUI".   The PUI is installed  by putting a  "main" PUI file whose  name is
  2726.     specified in CONFIG.  The default is "MAIN.PUI".  Each sub-board in RBBS-PC
  2727.     can have a different PUI system if desired.  A PUI file consists of exactly
  2728.     10 lines, and the format is:
  2729.  
  2730.        LINE   CONTENTS
  2731.          1    name of novice menu
  2732.          2    prompt to display
  2733.          3    valid commands, corresponding RBBS-PC commands
  2734.          4    which valid commands are menus
  2735.          5    names of PUIs that are menus
  2736.          6    letter of quit command
  2737.          7    prompt for quit command
  2738.          8    valid sub-commands of quit command
  2739.          9    which quit commands are PUIs
  2740.          10   names of menu PUIs in quit command
  2741.  
  2742.     The text in the lines should NOT be enclosed in quotes, except possibly the
  2743.     two parts of line 3.
  2744.  
  2745.     The novice  menu is just  a text file  displayed to novices,  just like the
  2746.     default menus  (MENU1, MENU2, etc.).  The name  can include a drive or path
  2747.     as well as an extension.  The menu PUIs in lines 5 and 10 must be stored in
  2748.     the same drive/path as that in line 1.
  2749.  
  2750.     The prompt  to display  is what all  callers see  when asked for  a choice,
  2751.     including experts.  Normally this includes a brief listing of the  commands
  2752.     available along  with  a  request  for  a command.    This  prompt  is  NOT
  2753.     dynamically adjusted to reflect  the security level  of the caller,  unlike
  2754.     the default  prompt in  RBBS-PC, which removes  commands the  caller cannot
  2755.     execute.
  2756.  
  2757.     Each PUI defines a "section" of RBBS-PC  (just like RBBS-PC has main, file,
  2758.     library, and utility sections).  The valid commands are the symbols for the
  2759.     acceptable  commands in this  PUI section.   They must be  upper case only.
  2760.     The first  part is the  names of  the commands that  the caller must  give.
  2761.     Each  symbol must  be  mapped to  a corresponding  internal symbol  name in
  2762.     RBBS-PC which  is set in CONFIG.  This way  the same letter in a given menu
  2763.     can be used for different commands in RBBS-PC, just as "S" stands for S)can
  2764.     messages in the main  section and S)ubstring search  in the files  section.
  2765.  
  2766.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page 7-8
  2767.  
  2768.     Since the  default  underlying RBBS-PC  commands  use the  same  letter  in
  2769.     different  menus,  you should  first  reconfigure  RBBS-PC to  assign  each
  2770.     RBBS-PC command a  different underlying symbol.   Then in the PUI  file map
  2771.     the letter you want the caller to  use to that underlying symbol.  Be  sure
  2772.     in configuration  NOT to limit commands to the  current section -- you must
  2773.     let RBBS-PC  search in other sections for  underlying commands when it does
  2774.     not find it in the current section.
  2775.  
  2776.     In addition  to the  normal commands  available in  RBBS-PC, the  SysOp can
  2777.     include new commands  which invoke other menus.   These must be  symbols in
  2778.     the list of valid commands.
  2779.  
  2780.     If a valid menu choice is picked, there must be a PUI file for that choice.
  2781.     Line 5  tells what prefix the PUI file has.   Each PUI name must consist of
  2782.     exactly 7  characters.  The PUI name can be  shorter than 7 letters, but in
  2783.     the list you must blank fill out to 7  positions to the right.  The first 7
  2784.     characters are for  the first valid  menu command, the second  7 characters
  2785.     are for  the second valid  menu command, etc.   RBBS-PC will  automatically
  2786.     append the extension "PUI" to this file name.  Note that all PUI files must
  2787.     be in the same drive/path as the novice menu in line 1.
  2788.  
  2789.     The last 5 lines  in the PUI file concern how control goes  from one PUI to
  2790.     another.   The PUI  processing supports a  "quit to"  command in  which the
  2791.     caller can jump  to other menus - which one is specified in the subcommands
  2792.     to the quit command (just like RBBS-PC's "quit" to command).
  2793.  
  2794.     Line 6 is the symbol  (in the valid commands) which is the quit-to command.
  2795.     It must be a single capital letter.
  2796.  
  2797.     Line 7 is  the prompt for the  quit-to command, to be  presented to callers
  2798.     after they select the quit-to command (type ahead is supported).
  2799.  
  2800.     Line 8 is the list of the valid sub-commands of the quit-to command.   Each
  2801.     command must be a capital letter.
  2802.  
  2803.     Line 9  tells which  of  the valid  subcommands are  PUI  commands.   If  a
  2804.     sub-command is  valid but  not a  PUI command,  control will  be passed  to
  2805.     RBBS-PC to process the quit-to  command.  For example, Quit-to S)ystem  for
  2806.     hanging up would have to be processed this way.
  2807.  
  2808.     Line 10  tells what are the names of the  PUI files for each PUI command in
  2809.     line 9.  The format of the PUI names is exactly the same as in line  5 -- 7
  2810.     characters blank filled to the right if shorter.
  2811.  
  2812.     The following file MAIN.PUI installs the example that was discussed in  the
  2813.     previous section:
  2814.  
  2815.          MMENU
  2816.          Enter choice: <F,M,U,G>
  2817.          FGMU," G  "
  2818.          FMU
  2819.          FMENU   MAILM   UMENU
  2820.          <5 blank lines follow>
  2821.  
  2822.     The name of the  menu to be displayed initially is MMENU.  The prompt users
  2823.     will see is  "Enter choice: <F,M,U,G>?" (RBBS-PC adds  the trailing "?" for
  2824.     prompts).  The  four valid commands  are F, G,  M, and U.   Three of  these
  2825.     commands invoke  other menus (F, M,  and U), and  G is a  non-menu command,
  2826.  
  2827.     PLANNING YOUR USER INTERFACE                                       Page 7-9
  2828.  
  2829.     i.e. one  of the  base RBBS-PC functions.   The  PUI file  name for "F"  is
  2830.     FMENU.PUI,  MAILM.PUI for "M",  and UMENU.PUI for  "U".  Each  of these PUI
  2831.     files gives the same  type of information  as the main  PUI.  For  example,
  2832.     MAILM.PUI might contain
  2833.  
  2834.          MAILM.MNU
  2835.          Enter choice: <E,J,P,Q,R,S,T>
  2836.          EJPQRST,EJPQRST
  2837.          Q
  2838.          MAIN
  2839.          <5 blank lines follow>
  2840.  
  2841.     The novice menu for the mail section is in file MAILM.MNU.  This file might
  2842.     contain the following text:
  2843.  
  2844.          M A I L   S U B S Y S T E M
  2845.          ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2846.               E)nter a message
  2847.               J)oin a new message base
  2848.               P)ersonal mail (review)
  2849.               Q)uit to main section
  2850.               R)ead messages
  2851.               S)can msg headers
  2852.               T)opic msg scan
  2853.  
  2854.     The prompt  will appear immediately below  this line unless an  extra blank
  2855.     line  is included in the menu file.  There is only one menu command:  Q for
  2856.     getting back to the main menu.
  2857.  
  2858.     The PUI system  can also be  used to emulate  the default RBBS-PC  commands
  2859.     with 4 sections.  Four sample  files are provided for accomplishing this:  
  2860.     XMAIN.PUI, XFILE.PUI,  XUTIL.PUI, and  XLIBR.PUI.  For  novice menus,  each
  2861.     uses the  standard default menu  that comes  with RBBS-PC.   These  require
  2862.     RBBS-PC to  be configured  with the  following symbols  for the  underlying
  2863.     RBBS-PC commands:
  2864.  
  2865.          MAIN =   normal: ABCDEFIJKOPRSTUVW
  2866.             reconfigured: ABC>EFIJKOPRSTU\W
  2867.  
  2868.          FILES =  normal: DGLNPSUV
  2869.             reconfigured: DGLNYZ^V
  2870.  
  2871.          UTIL =   normal: BCEFGLMPRSTU
  2872.             reconfigured: !#E$<&M*()-+
  2873.  
  2874.          GLOBAL = normal: H?QX
  2875.             reconfigured: H?QX
  2876.  
  2877.          SysOp =  normal: 1234567
  2878.             reconfigured: 1234567
  2879.  
  2880.          LIBRARY =normal: ACDGLSV
  2881.             reconfigured: []{G}:'
  2882.  
  2883.     7.8 RBBS-PC's Support of Sub-menus
  2884.     ----------------------------------
  2885.  
  2886.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 7-10
  2887.  
  2888.     Sub-menu support  means that an item on a  menu can itself be another menu,
  2889.     so that selecting it results in a  new menu being displayed from which  the
  2890.     caller can select yet another option.
  2891.  
  2892.     The  areas in RBBS-PC  that can have  sub-menu support  include:  answering
  2893.     surveys, bulletins,  doors, joining  a conference,  and the file  subsystem
  2894.     command to list directories.
  2895.  
  2896.     A primary use  of sub-menus is to  simplify the user interface,  chiefly by
  2897.     allowing sub-categorization of the  option.  For  example, suppose a  SysOp
  2898.     has a complex system of doors, including multi-user games (TREK,  NAPOLEON,
  2899.     3DCHESS), single-user games (D&D, R&R,  PICKUP), and demonstrations (DBIII,
  2900.     ORACLE, ADVENT).  These could be presented on a single menu, such as:
  2901.  
  2902.          The following Doors are available:
  2903.  
  2904.          Multi-User Games
  2905.               TREK - explore the galaxy, compete with 12 other players
  2906.               NAPOLEON - be Russia, Italy, or England and fight the computer
  2907.               3DCHESS - are you ready, Spock?
  2908.  
  2909.          Single-User Games
  2910.               D&D - the Unix dungeons and dragons!
  2911.               R&R - welcome to Taipei, Tokyo, or Bangkok, soldier!
  2912.               PICKUP - do you have what it takes?
  2913.  
  2914.          Demos - all self running
  2915.               DBIII - Special version of DB3 adopted for remote usage
  2916.               ORACLE - see the power of SQL.  Full screen if you emulate ANSI.
  2917.               ADVENT - our own home brewed ...
  2918.  
  2919.     With sub-menus, the user could see a single, 3 item menu
  2920.  
  2921.          Doors are available for:
  2922.          MGAME - multi-user games
  2923.          SGAME - single-user games
  2924.          DEMO - self running demos
  2925.  
  2926.     When  the caller picks one of  these three, a new  menu comes up that lists
  2927.     the particular doors for  each category.  For example,  after picking MGAME
  2928.     the caller sees
  2929.  
  2930.          Multi-User Games available include:
  2931.  
  2932.          TREK      - explore the galaxy, compete with 12 other players
  2933.          NAPOLEON  - be Russia, Italy, or England and fight the computer
  2934.          3DCHESS   - are you ready, Spock?
  2935.  
  2936.     RBBS-PC's sub-menu capabilities  allow SysOps to set  up "tree-structured",
  2937.     "key word" paths to options.  Bulletins provide an example where  this type
  2938.     of structure can  be very useful.   Bulletins have two  main uses:   short,
  2939.     system-wide announcements, and a standard stock of text files for  policies
  2940.     and procedures for a RBBS-PC.   Some SysOps, however, have wanted to put up
  2941.     an elaborate system of announcements, where in fact these "bulletins" are a
  2942.     featured way  of presenting data  to callers.  For  example, an association
  2943.     published 300 short  pamphlets under a dozen categories,  and wants to make
  2944.     this information  available on-line.   Sub-menus fit  this need  very well.
  2945.     The main bulletin menu could read:
  2946.  
  2947.     PLANNING YOUR USER INTERFACE                                      Page 7-11
  2948.  
  2949.          Bulletins are available for:
  2950.  
  2951.               NURSES - nurses
  2952.               OB - obstetricians
  2953.               PED - pediatricians
  2954.               FAM - family physicians
  2955.  
  2956.          Please type in the category you want:
  2957.  
  2958.     OB, instead of being a bulletin, is a sub-menu that displays:
  2959.  
  2960.          The following bulletins are available for OBSTETRICIANS.   Each  entry
  2961.          shows the length and price per glossy copy.
  2962.  
  2963.               NAT - natural childbirth, 8 pages, $3
  2964.               MIDW - midwives. 20 p., $5
  2965.               NUTRI - special nutritional needs of pregnant women, 25p, $6
  2966.               FPLAN - family planning services, 40 p, $3
  2967.               DRUG - drugs to beware when pregnant, 50 p., $5
  2968.  
  2969.     When the caller picks MIDW, the associated  document is displayed.  In this
  2970.     example,  bulletins become  a  menu-driven way  of  selecting documents  to
  2971.     browse.
  2972.  
  2973.     In  order  for the  previous example  to  work,   RBBS-PC  utilizes "named"
  2974.     bulletins.   For example, selecting "B"  as the bulletin prefix,  the above
  2975.     bulletins would be files BNAT,  BMIDW, BNUTRI, BFLAN, and BDRUG.   However,
  2976.     RBBS-PC's  "new bulletin  search"  function  will  only  search  for  named
  2977.     bulletins if they are  listed in the  file x.FCK (where  x is the  bulletin
  2978.     prefix).  Also, named  bulletins are not listed in the  "new" bulletin list
  2979.     as numbered bulletins are.
  2980.  
  2981.     7.8.1 How to Implement Sub-menus
  2982.     --------------------------------
  2983.     If "XXX" is an option on a menu,  simply create a file named "XXX.MNU" that
  2984.     has in it the text  for the menu.  Put this file in  the same drive/path as
  2985.     the non-menu options  (e.g. where the "BAT"  files go for doors,  where the
  2986.     bulletin  files to display  are put, where  the directory files  are).  For
  2987.     example,  if "B"  is  the  bulletin  prefix, the  above  example  would  be
  2988.     implemented by adding  the files  "BNURSE.MNU", "BOB.MNU", "BPED.MNU",  and
  2989.     "BFAM.MNU".    Put these  files  on  the  same  drive  that  the  bulletins
  2990.     themselves go.
  2991.  
  2992.     The .MNU  extension alerts  RBBS-PC to the  fact that  the file is  a menu.
  2993.     Thus, RBBS-PC  will only LIST the  menu file, rather  than ACT on  it (e.g.
  2994.     3DCHESS.BAT is a door to be run, while 3DCHESS.MNU is a menu to be listed).
  2995.  
  2996.     7.8.2 Shared Options Across Sub-menus
  2997.     -------------------------------------
  2998.     RBBS-PC supports identical choices from different sub-menus.  E.g. the main
  2999.     menu has sub-menus  A and  B, and  BOTH of  these sub-menus  could have  an
  3000.     option X on them, which triggered  a different action (based on which  sub-
  3001.     menu it X was selected from).  The way that  this works is RBBS-PC searches
  3002.     both for the global prefix and the user response as well as looking for the
  3003.     current prefix and user response.   If the bulletin prefix is "B",  and the
  3004.     structure of bulletins is as follows:
  3005.  
  3006.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 7-12
  3007.  
  3008.               /   1        BM is main bulletin menu, B is the prefix
  3009.            A ---- 2        BMA.MNU  submenu get with choice A
  3010.          /    \   3        BMB.MNU  submenu get with choice B
  3011.         /                  BMC.MNU  submenu get with choice C
  3012.        /      /   1
  3013.     BM --- B ---- 2        BMA1, BMA2, BMA3 bulletins active at BA
  3014.        \      \   3        BMB1, BMB2, BMB3 bulletins active at BB
  3015.         \                  BMC1, BMC2, BMC3 bulletins active at BC
  3016.          \    /   1
  3017.            C ---- 2
  3018.               \   3
  3019.  
  3020.     7.9 RBBS-PC's "Macro" Command Support
  3021.     -------------------------------------
  3022.     RBBS-PC's  "macro"  support  expands  a   single  keystroke  into  multiple
  3023.     keystrokes.   It allows RBBS-PC to be tailored in even a greater variety of
  3024.     ways  than before  because a  single  command can  be  set up  to invoke  a
  3025.     sequence of  multiple RBBS-PC  commands.   The  concept is  similar to  the
  3026.     keyboard macro function found  in many terminal  emulators, except that  in
  3027.     RBBS-PC  the  SysOp  defines  the  macros  and  the  caller  invokes   them
  3028.     transparently without knowing.
  3029.  
  3030.     Macros add  a new dimension to RBBS-PC  commands -- commands can  be a full
  3031.     word rather than just a single letter.  A  macro is invoked by a name up to
  3032.     8 characters.  For example, "DOOR" and "OPEN"  can be used to invoke doors.
  3033.     This makes it easy to make all commands available on a single level,  since
  3034.     D could  trigger a  download, while  the word  DOOR will  trigger the  door
  3035.     function.  
  3036.  
  3037.     Macros can be used to abbreviate a  longer series of commands. If the SysOp
  3038.     wants to use "A)bandon conference", all that need be done is to add a macro
  3039.     called "A" whose content  is "J M"  (join main).  Or  if N)etmail is to  be
  3040.     used to read Fido-net compatible message bases, a macro called "N" could be
  3041.     set up as  "D NETMAIL" (use  door called NETMAIL).   RBBS-PC thus  can have
  3042.     UNLIMITED commands.
  3043.  
  3044.     A string of  RBBS-PC commands can be  stored in a macro for  many different
  3045.     types of purposes, including (but not limited to):
  3046.  
  3047.          setting up demos,
  3048.          showing a user what to do rather than just explaining it in words, 
  3049.          automated testing of RBBS-PC features
  3050.  
  3051.     Macros can  also be  used to make  the same  type of function  do different
  3052.     work.  For  example, the B)ulletin command basically  displays a text file.
  3053.     Suppose an  association wants  to let persons  order pamphlets  and preview
  3054.     them on-line.    Rather than  bury  the ordering  function  inside  A)nswer
  3055.     questionnaire  and  the preview  function  inside B)ulletins,  the commands
  3056.     PREVIEW  and ORDER  can  be added  as  macros, where  ORDER  stands for  "A
  3057.     ORDWHAT" AND  "ORDWHAT" is  a  submenu listing  what can  be ordered.  Each
  3058.     option on the submenu is a questionnaire.  PREVIEW similarly is "B PREWHAT"
  3059.     where  "PREWHAT" is  a submenu  listing  the available  pamphlets that  are
  3060.     stored as text files.
  3061.  
  3062.     Macros can be built to provide  interactive help to callers.  For  example,
  3063.     you can put up a macro called EZDOWN  to help people download.  It explains
  3064.     everything, asks for the file name and  protocol, and tells the caller what
  3065.     they should be doing on their end, and then drives the download.
  3066.  
  3067.     PLANNING YOUR USER INTERFACE                                      Page 7-13
  3068.  
  3069.     Macros  can   be  used   to  provide   integrated  data   bases.     Unlike
  3070.     questionnaires, you can totally control how data is written to a file.  You
  3071.     can put in labels,  or data only,  put the values  in quotes, separate  the
  3072.     values by commas, etc.  This is done by creating a template into which data
  3073.     values are written.
  3074.  
  3075.     Macros can be used  to give "tours" of  your RBBS-PC -- to showcase  new or
  3076.     special features.
  3077.  
  3078.     Macros  can be  controlled via  security  level access,  just like  regular
  3079.     commands, and they can be forced to operate only in certain contexts.
  3080.  
  3081.     Macros can be
  3082.  
  3083.        - invoked anywhere within RBBS-PC -- including questionnaires,
  3084.        - unlimited in length,
  3085.        - used even when the caller has "turbo" key feature enabled,
  3086.        - used with SmartText (see section 7.9),
  3087.        - used to store responses that can be manipulated later, and
  3088.        - used to support graphics versions of text.
  3089.  
  3090.     It is important to remember that a macro will be ignored if its name is the
  3091.     same as  any command.  To replace  a command with a macro,  you must insure
  3092.     that  the letter  for the command  has been reassigned.   CONFIG parameters
  3093.     30-34 allow such reassignments to be easily accomplished.
  3094.  
  3095.     Some contexts will  not accept macros, such  as when RBBS-PC prompts  for a
  3096.     search string.
  3097.  
  3098.     Macro commands with more  than one letter override all others.   This means
  3099.     that the macro interpretation will prevail if more than one  interpretation
  3100.     is possible.   For  example, in the  absence of  macros the  command "door"
  3101.     would the interpreted  as the  command "d",  so that saying  "door" in  the
  3102.     files section  would  be download.    But a  "DOOR.MCR"  would be  executed
  3103.     instead  when it  exists.  One  letter commands, however,  will be executed
  3104.     when they  match a command letter, and  so any macros will  be ignored that
  3105.     have the same one letter name the same as a command.
  3106.  
  3107.     7.9.1 How to Set Up "Macros"
  3108.     ----------------------------
  3109.     To use  macros, two  CONFIG parameters must  be specified:   the drive/path
  3110.     where macro  files are stored (CONFIG  parameter 79) and the  extension the
  3111.     macro files  will have (CONFIG  parameter 80).   The defaults are  "C:" and
  3112.     "MCR".   To create a macro named X, simply  create a file with prefix X and
  3113.     the macro extension and  place in it the macro drive/path.   If you are not
  3114.     using any macros, RBBS-PC will run faster if you specify NO macro extension
  3115.     in CONFIG parameter 80.
  3116.  
  3117.     The first  line within  a "macro"  controls access  to the  macro, both  by
  3118.     security  level, and a limitation  on the scope  of the macro,  in which it
  3119.     will be operative, including
  3120.  
  3121.        - anywhere inside a section
  3122.        - anywhere inside a command
  3123.        - only at a section and not inside.
  3124.  
  3125.     The format of the first line is:
  3126.  
  3127.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 7-14
  3128.  
  3129.               <SecLevel>/<constraint>
  3130.  
  3131.     where <SecLevel> is  the minimum  security required to  run the macro,  and
  3132.     <constraint>  is the section (M for  main, F for file,  U for utility, or @
  3133.     for  library) and command  letter the  macro is  confined to  (use original
  3134.     command letter, not the reassigned ones).  For example
  3135.  
  3136.               4/M
  3137.  
  3138.     means  that security  level 4 is  required, and  the macro runs  only at or
  3139.     inside the main section prompt.
  3140.  
  3141.               5/MB
  3142.  
  3143.     means that  security level 5  is required  and the  macro runs  only at  or
  3144.     inside the main section bulletin command.  Thus the macro file 1.mcr
  3145.  
  3146.               2/MJ
  3147.               {EN
  3148.               RBBS
  3149.  
  3150.     means that when  inside the main J)oin, the text "RBBS" will be substituted
  3151.     for "1".   (So "J 1"  does the work of  "J RBBS".)  The "{EN"  means not to
  3152.     echo what the macro substitutes (user does not see "RBBS").
  3153.  
  3154.     To make a macro operative only at a section prompt and not inside,  add a "
  3155.     /" to the end of the section constraint.  For example,
  3156.  
  3157.               4/M /
  3158.  
  3159.     means that the macro applies only at the main section prompt.  For example,
  3160.     the macro SP.MCR
  3161.  
  3162.               4/M /
  3163.               {EN
  3164.               J SEMIPRV
  3165.  
  3166.     will substitute "J SEMIPRV" for  "SP" when at the main prompt,  but NOT for
  3167.     "SP" inside the message read command ("R SP L").
  3168.  
  3169.     Note:  a macro will be ignored if its name is the same as a command symbol.
  3170.     To use 1, 2,  3, etc. for  macro commands, you  must disable or  substitute
  3171.     other symbols for the SysOp commands.
  3172.  
  3173.     The first  line of a macro  must be the  minimum security level to  use the
  3174.     macro.   The macro will  simply be ignored  if the caller  has insufficient
  3175.     security.  The second line will be parsed and replace the macro name.   The
  3176.     remaining lines will be read from disk and processed as required.
  3177.  
  3178.     Macro commands have the same structure as SmartText variables:
  3179.  
  3180.          <command prefix><command name>
  3181.  
  3182.     where <command prefix> is  the SmartText command specified in CONFIG.   The
  3183.     symbol "{"  (ASCII 123) is the default.  The <command name> consists of two
  3184.     characters.   Lines that are not valid macro  commands are simply passed to
  3185.     RBBS-PC as  if the  user had typed  them in.   There are  three differences
  3186.     between SmartText variables and macro commands:
  3187.  
  3188.     PLANNING YOUR USER INTERFACE                                      Page 7-15
  3189.  
  3190.     (1)  Macro commands must  be the first three characters  on a line, whereas
  3191.          SmartText variables can occur anywhere on a line.
  3192.  
  3193.     (2)  Macro commands can have an argument after the command name, and(
  3194.  
  3195.     (3)  A macro command can apply to a block of lines following it.
  3196.  
  3197.     7.9.2 Macro Commands
  3198.     --------------------
  3199.     RBBS-PC "Macro" Commands include the capability of having commands executed
  3200.     within the  "macro" rather than  simply passing keystrokes to  RBBS-PC.  In
  3201.     all prompts and  blocks, substitution is supported for  both stored answers
  3202.     SmartText  variables. The  following is  a  list and  description of  valid
  3203.     "macro" commands:
  3204.  
  3205.     *0 - display what follows on the line with no carriage return.
  3206.     *1 - display what follows on the line with a carriage return.
  3207.     *B - display what follows on subsequent lines.
  3208.     *F - display the named file that follows.
  3209.     nn - display a prompt and store result in work variable nn.
  3210.     WT - pause for the number of seconds specified after "WT".
  3211.     >> - append the following block of text to the file specified.
  3212.     ST - Stack the characters immediately following the "ST".
  3213.     M! - Execute the named macro that follows on the same line.
  3214.     ON - Case logic for branching within macros based on stored results.
  3215.     EY - Echo the text passed in macros as keystrokes.
  3216.     EN - Do not echo the macro keystrokes.
  3217.     << - Display fields from a file in a form.
  3218.     := - Assign value to a work variable
  3219.     LV - Verify that answer of one in a list
  3220.     NV - Verify that answer is between two integers
  3221.     CV - Verify that answer is between two character values
  3222.     LO - Set location for Fast File Searches for download, upload, view
  3223.  
  3224.     The syntax and an example of each command follows:
  3225.  
  3226.     *0 - display what follows on the line with no carriage return.
  3227.  
  3228.               {*0Press any key to continue
  3229.  
  3230.     *1 - display what follows on the line with a carriage return.
  3231.  
  3232.               {*1{FN, I hope you enjoyed your tour of the board!
  3233.  
  3234.          The caller's  first name  is  substituted for  the SmartText  variable
  3235.          "{FN."
  3236.  
  3237.     *B - display what follows on  subsequent lines, each  line with a  carriage
  3238.          return, up to the line beginning with "{END".
  3239.  
  3240.               {*B
  3241.               This  is an  example of  a macro's  ability to  display
  3242.               multiple lines.  The macro command is
  3243.               {*B
  3244.               and it will display  all lines until it encounters  one
  3245.               beginning with {END.  Like it, {FN?
  3246.               {END
  3247.  
  3248.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 7-16
  3249.  
  3250.          The caller will seen everything between the first and last lines, with
  3251.          the first name substituted into the last line displayed.
  3252.  
  3253.     *F - display the named file that follows.
  3254.  
  3255.               {*F L:\RBBS\HELP.LST
  3256.  
  3257.          will display the file HELP.LST.
  3258.  
  3259.     nn - use the text that follows on the line as a prompt and store the answer
  3260.          in an internal  working variable numbered nn.   nn must be  two digits
  3261.          and can be  01, 02,  03, ..., 99.   CONFIG parameter  94 controls  the
  3262.          maximum # of work variables.
  3263.  
  3264.               {01Please enter the Department you work for:
  3265.               {02Please enter your Office number:
  3266.  
  3267.          This will store the answers in work  variable # 1 and 2, which can  be
  3268.          subsequently referenced as "[1]" and "[2]".  You can have as many work
  3269.          variables as  specified in  CONFIG parameter 94.   Variables  that are
  3270.          reused have their values overwritten.
  3271.  
  3272.     WT - pause for the number of seconds specified after "WT".
  3273.  
  3274.               {WT 2
  3275.  
  3276.          will wait for 2 seconds.
  3277.  
  3278.     >> - append the following block of text to the file specified on this line.
  3279.  
  3280.               {>> C:MACRO.DAT
  3281.               "{FN","{LN","[1]","[2]"
  3282.               {END
  3283.  
  3284.          will append  the following line to  the file named  MACRO.DAT on drive
  3285.          C:, assuming the caller is KEN GOOSENS,  and he responded to the above
  3286.          prompts for  Department with  "Controller" and  Office  # with  "107".
  3287.          Then the line what would be written out is:
  3288.  
  3289.               "KEN","GOOSENS","Controller","107"
  3290.  
  3291.          As many lines can be included as desired.   Simply end the block to be
  3292.          written out with "{END" as the beginning of the line.
  3293.  
  3294.          Some data base  managers want fixed length files  and this is possible
  3295.          in the  macro  append.   Just add  "/FL" on  the  macro command  line.
  3296.          Rather than  replace, the  substitution will overlay  the line  at the
  3297.          "[", thus  keeping the  output fixed  length.   Lets suppose  that the
  3298.          first work variable has "A" as  a value, the second work variable  has
  3299.          the value "123456",  the third work  variable has "Henry" as  a value,
  3300.          and the caller's first name is KEN.  Then
  3301.  
  3302.               {>> C:\RBBS\DAT.FIL /FL
  3303.               [1][2]....[3]...............{FN........
  3304.               {END
  3305.  
  3306.          would add the following line into DAT.FIL
  3307.  
  3308.     PLANNING YOUR USER INTERFACE                                      Page 7-17
  3309.  
  3310.               A  123456.Henry.............KEN.........
  3311.  
  3312.          Normally, blanks would be put where dots are show.
  3313.  
  3314.     ST - Stack the characters immediately following the "ST".
  3315.  
  3316.               {ST
  3317.  
  3318.          will stack a carriage return (no characters).  And
  3319.       
  3320.               {STD [1] [2]
  3321.  
  3322.          would stack  "D RBBS-EXE.ZIP  Z" -  as if  they were  typed and  ENTER
  3323.          pressed - if the  first work variable had "RBBS-PC.EXE" and the second
  3324.          work variable held "Z".  It is important to note  that "macros" are so
  3325.          transparent to RBBS-PC  that if you use  macros to display text  at an
  3326.          RBBS-PC prompt like "Enter  command? ", RBBS-PC  will continue to  sit
  3327.          there waiting for  an answer.   A stacked carriage  return at the  end
  3328.          will  cause the  prompt to  be redisplayed,  though the effect  of the
  3329.          stack will vary with the particular prompt.
  3330.  
  3331.     M! - Execute the named macro that follows on the same line.  E.g.
  3332.  
  3333.               {M! ORDER
  3334.  
  3335.          will execute  the macro called ORDER.  RBBS-PC  does NOT return to the
  3336.          invoking macro when the named macro is complete.  Also,  The full file
  3337.          name of the macro to execute  is not here used (i.e. ORDER.MCR),  only
  3338.          the file prefix -- ORDER.
  3339.  
  3340.          As is shown in the example of  the ON command, the macro name can have
  3341.          a drive/path and/or  extension.  If only  a prefix is put  in, RBBS-PC
  3342.          will  automatically  add  the  drive/path  and  extension  for  macros
  3343.          specified  in CONFIG  parameter 79  and  parameter 80.   Putting  in a
  3344.          drive/path/extension that is  different from CONFIG's assures  that no
  3345.          caller can invoke the macro -- it only can be used  internally by your
  3346.          application.
  3347.  
  3348.     ON - Case logic for macros.  This allows responses to be tested against and
  3349.          branching logic developed within a "macro".  An example would be:
  3350.  
  3351.               {ON 1
  3352.               {==A
  3353.               {M! D:\HIDDEN\CHOICEA.MCR
  3354.               {==B
  3355.               {*1You have selected option B
  3356.               {02Why did you select B?
  3357.               {==C
  3358.               {M! D:\HIDDEN\CHOICEA.MCR
  3359.               {END ON
  3360.  
  3361.     EY - Echo the text passed  in macros as if keystrokes.   The default is  to
  3362.          echo.
  3363.  
  3364.     EN - Do not echo the macro keystrokes.  An example would be:
  3365.  
  3366.               {EN
  3367.               {*1 The following commands will be executed but now shown
  3368.  
  3369.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 7-18
  3370.  
  3371.               {01 Press Enter when ready
  3372.               R L
  3373.               A
  3374.               {EY
  3375.               {*1 now you will see the responses to the prompts
  3376.               {01 Press Enter when ready
  3377.               R L
  3378.               A
  3379.  
  3380.     << - Display  fields from  a file  in a  form.   This  is one  of the  most
  3381.          powerful macro commands.  It allows data to be stored in compact, data
  3382.          format but retrieved into a form for display to a caller.   There  are
  3383.          5 parameters that can follow the macro command:
  3384.  
  3385.          <file name> <file format> <data#> <submode> <rec-pause>
  3386.  
  3387.           where:
  3388.  
  3389.          "<file name>" is the name of the data file that has records to read,
  3390.  
  3391.          "<file format>" is  "/V" if data is  stored in variable length  format
  3392.          and "/F" if fixed length format,
  3393.  
  3394.          "<data#>" is  the number of separate  fields in a  record for variable
  3395.          length data and the length of the data if fixed length,
  3396.  
  3397.          "<submode>" is the mode used to substitute data  in the following form
  3398.          "/FL" if the  form is fixed length, meaning that data is overlaid into
  3399.          the form so as not to change any lengths.
  3400.  
  3401.          "<rec-pause>" should  be "/1" if you  want to pause after  each record
  3402.          rather than when the screen fills.
  3403.  
  3404.          An example of a "macro" that uses this capability is as follows:
  3405.  
  3406.     {*1 -TOPIC-    - DATA # -       - VOICE # -    -First Name-    -Last Name-
  3407.     {<< C:\RBBS\RHLP.DAT /V 5 /FL
  3408.     [1]         [2]              [3]             [5]             [4]
  3409.     {END
  3410.  
  3411.     Note that spaces occur after the "[4]".  If the file RHLP.DAT contains
  3412.  
  3413.     "DOORS","703-978-6360","0","Ken","Goosens"
  3414.     "PROTOCOLS","407-487-3441","407-852-7790","Doug","Azzarito"
  3415.  
  3416.     then the caller would see
  3417.  
  3418.      -TOPIC-    - DATA # -       - VOICE # -    -First Name-    -Last Name-
  3419.     DOORS       703-978-6360     0               Ken             Goosens
  3420.     PROTOCOLS   407-487-3441     407-852-7790    Doug            Azzarito
  3421.  
  3422.     The same example using fixed length data would be
  3423.  
  3424.     {*1 -TOPIC-    - DATA # -       - VOICE # -    - Name -
  3425.     {<< C:\RBBS\RFLH.DAT /F 69 /FL
  3426.     [1](34:12)    [1](46:12)       [1](58:12)      [1](1:33)             
  3427.     {END
  3428.  
  3429.     PLANNING YOUR USER INTERFACE                                      Page 7-19
  3430.  
  3431.     where RFLH.DAT contains:
  3432.  
  3433.     Ken Goosens                      DOORS       703-978-63600
  3434.     Doug Azzarito                    PROTOCOLS   407-487-3441407-852-7790
  3435.  
  3436.     This would produce the following for the caller:
  3437.  
  3438.      -TOPIC-    - DATA # -       - VOICE # -    - Name -
  3439.     DOORS       703-978-6360     0               Ken Goosens
  3440.     PROTOCOLS   407-487-3441     407-852-7790    Doug Azzarito
  3441.  
  3442.     Note that work fields support sub-field references in the format:
  3443.  
  3444.               [n](x:y)
  3445.  
  3446.     where n is the work field  number, "x" is the beginning column, and  "y" is
  3447.     the #  of bytes  to get.   If work  field two had  a value  "123abcde" then
  3448.     "[2](3:4)" would have "3abc" as its value.  Fixed length records are always
  3449.     referenced as work variable one.
  3450.  
  3451.     := - Assign a value to  a work variable.  Work variables can  be assigned a
  3452.          value inside a macro.  The command to do this is ":=".  E.g.
  3453.  
  3454.               {:= 5 OK
  3455.  
  3456.          assigns string "OK" to work variable 5.
  3457.  
  3458.     LV, NV, and  CV - Macros can  edit the responses  to questions.  Edits  can
  3459.     constrain the answer to
  3460.  
  3461.          - one of a list
  3462.          - a numeric value between two values
  3463.          - a character value between two values
  3464.  
  3465.          An  editing constraint  must  be  put in  front  of the  actual  macro
  3466.          question it  applies to,  and a  constraint applies  only to the  next
  3467.          question and does not remain operative.
  3468.  
  3469.          The  commands  for these  are  respectively "LV"  (List  Verify), "NV"
  3470.          (Numeric Verify), and  "CV" (Character Verify).  The  list verify uses
  3471.          the first  character after  the command as  a delimiter  between valid
  3472.          responses.  E.g.  "{LV;R;A;E;" means that only "R", "A",  and "E" will
  3473.          be  accepted as  answers ("{LV/R/A/E/"  would have  the same  effect).
  3474.          Semi-colon  is the  best delimiter  in  general because  it cannot  be
  3475.          entered as a value.
  3476.  
  3477.          Numeric and Character verify  check inclusive ranges.  Thus "{NV 7 11"
  3478.          will accept 7,  8, 9, 10, or 11.  The numeric value must be an integer
  3479.          between -32,768 and  32,767.  To accept answers B through E, the macro
  3480.          edit command is "{CV B E".
  3481.  
  3482.          Whenever an answer  fails an edit, the message  "Invalid answer <...>"
  3483.          is given with  the answer received between brackets,  and the question
  3484.          is asked again.  An example of a macro with edits is:
  3485.  
  3486.               4
  3487.               {*1 Verification macro
  3488.               {*1 now checking list...
  3489.  
  3490.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 7-20
  3491.  
  3492.               {LV;A;F;W;
  3493.               {01 Enter A, F, or W
  3494.               {*1 now testing numeric range...
  3495.               {NV 5 15
  3496.               {01 Enter a number between 5 and 15
  3497.               {*1 now testing character range...
  3498.               {CV D J
  3499.               {01 Enter a character between D and J
  3500.  
  3501.     LO - Sets  location  that  a file  is  to  be searched  for  in  an upload,
  3502.          download, or view  request.   Followed  by a drive path.   Useful when
  3503.          want to have a macro  execute in front of a  download or upload for  a
  3504.          file which  is really available (see  section 12.9).   Applies only to
  3505.          Fast File Search.  For example,
  3506.  
  3507.               {LO  F:\DF1\
  3508.  
  3509.          would set the file location to drive F subdirectory DF1.
  3510.  
  3511.     7.9.3 A Sample Macro
  3512.     --------------------
  3513.     Suppose A)bandon conference is to be  implemented in RBBS-PC.  To do  this,
  3514.     the command  A)nswer questionnaires  must be assigned  a different  letter.
  3515.     Else A will always invoke answer instead.  Then the macro file could
  3516.     contain
  3517.               5
  3518.               J M
  3519.  
  3520.     The command "A" will  then be followed by "Rejoining  MAIN".  Incidentally,
  3521.     if the macro had been implemented by
  3522.  
  3523.               5
  3524.               J
  3525.               M
  3526.  
  3527.     The only difference is that the prompt for what conference to  join will be
  3528.     displayed, "M" then would be displayed  as if the caller had typed it,  and
  3529.     then main would be rejoined.  The difference is caused by the fact that the
  3530.     first line after the security level is what replaces the macro name, so  in
  3531.     the first case "M" preempts the prompt but not in the second.
  3532.  
  3533.     7.9.4 On-line Data Base With Macros & Questionnaires
  3534.     ----------------------------------------------------
  3535.     RBBS-PC provides  the SysOp with the ability to  offer callers access to an
  3536.     on-line  database  both internally  (using  macros and  questionnaires) and
  3537.     externally to RBBS-PC (see Appendix R).
  3538.  
  3539.     RBBS-PC's internal Remote Data Base feature gives the SysOp the ability to:
  3540.  
  3541.        - set up unlimited numbers of named data bases
  3542.        - set up menus to interact with the user
  3543.        - prompt users for data
  3544.        - use Metavariables - both work variables and SmartText variables.
  3545.        - store  user's  answers in  work  variables.   Any subfield  in  a work
  3546.          variable can be referenced.
  3547.        - display, or store all metavariables
  3548.        - process commands conditionally
  3549.  
  3550.     PLANNING YOUR USER INTERFACE                                      Page 7-21
  3551.  
  3552.        - save Metavariables  to file  through templates,  allowing  data to  be
  3553.          stored in virtually any format desired
  3554.        - retrieve data into templates for display.
  3555.        - do full screen data entry
  3556.  
  3557.     RBBS-PC's support for  "full screen" questionnaires  and macros takes  some
  3558.     work on the SysOp's  part.  The SysOp  must use ANSI screen commands.   The
  3559.     SysOp must then  arrange to transmit the "template" that clears the callers
  3560.     screen and writes the appropriate static  text (lines, labels, etc.) on the
  3561.     callers screen.  Then  the data the user is to see  is transmitted onto the
  3562.     caller's screen.   The "full screen" support  does not allow the  caller to
  3563.     use keys like  tab and cursor arrows to  move around on the screen.   It is
  3564.     "full screen" in the sense that the caller  sees all the data that is to be
  3565.     entered and the cursor moves from field to field.
  3566.  
  3567.     On-line Database Example
  3568.     ------------------------
  3569.     This application manages  a data base  of callers who  are willing to  help
  3570.     with RBBS-PC by topic.   It is controlled at a high  level by the following
  3571.     questionnaire.
  3572.  
  3573.     C:DUMMY.DAT,4
  3574.     * This questionnaire is for finding help with RBBS-PC by topic.
  3575.     * Please register yourself if you
  3576.     *   -  are willing to help others, and
  3577.     *   -  know enough about a topic to help
  3578.     *
  3579.     * Examples of topics people need help with:
  3580.     *   Desqview       Modem models (HST, Everex, USR Internal, etc.)
  3581.     *   PC-Slaves      Protocols     Conferences    FMS
  3582.     *   Doors          DoubleDos     Sub-boards     PUI
  3583.     *   Questionnaires 10-Net        Macros         Uploads
  3584.     *   MU-Purge       File maint.   Personal dnld  Caller Analysis
  3585.     *
  3586.     :-[prompt]-
  3587.     T
  3588.     ? V)iew database, E)nter new data, Q)uit (V,A,Q)
  3589.     =V-[view]-=E-[add]-=Q-[quit]-= -[prompt]-
  3590.     :-[view]-
  3591.     M C:\RBBS\VIEWHELP.MCR
  3592.     >-[prompt]-
  3593.     :-[quit]-
  3594.     @
  3595.     :-[add]-
  3596.     *                  703-978-6360
  3597.     ?1 BBS data number
  3598.     *                                   703-978-4339
  3599.     ?2 Voice # (evening, 0 not to give)
  3600.     * You can specify as many topics as desired, one at a time.
  3601.     *
  3602.     :-[topic]-
  3603.     ?3 RBBS-PC topic you will help others with, or Q)uit
  3604.     =Q-[prompt]-= -[addrec]-
  3605.     :-[addrec]-
  3606.     * -Topic-         - Data # -      - Voice # -   Last Name       First Name
  3607.     */FL[3]              [1]             [2]            {LN             {FN    
  3608.       
  3609.     T
  3610.  
  3611.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 7-22
  3612.  
  3613.     ?Really add this record (Y,N)
  3614.     =Y-[really]-=N-[topic]-= -[addrec]-
  3615.     :-[really]-
  3616.     M C:\RBBS\ADDHELP.MCR
  3617.     >-[topic]-
  3618.  
  3619.     Two macros are used by this questionnaire:
  3620.     VIEWHELP.MCR for displaying the data base, and
  3621.     ADDHELP.MCR for appending new data to the data base.
  3622.  
  3623.     VIEWHELP.MCR contains
  3624.  
  3625.     5
  3626.     {*1 -Topic-          - Data # -       - Voice # -    Last Name        First
  3627.     Name
  3628.     {*F RBBSHELP.DAT
  3629.  
  3630.     ADDHELP.MCR contains
  3631.  
  3632.     5
  3633.     {>> RBBSHELP.DAT /FL
  3634.     [3]              [1]             [2]            {LN             {FN        
  3635.     {END
  3636.  
  3637.     Full Screen Example
  3638.  
  3639.     Full screen is available only in a color graphics version of questionnaires
  3640.     and macros.   A long application for collecting BBS information is given in
  3641.     these following files:
  3642.  
  3643.     REGRBBS.DEF  - Questionnaire driver, TTY version
  3644.     REGRBBSC.DEF - Color graphics version of questionnaire driver
  3645.     VUNRBBS.MCR  - View data base macro, TTY version
  3646.     VUNRBBSC.MCR - View data base macro, Color graphics version
  3647.     SVRBBS.MCR   - Macro to save data to a comma separated data file
  3648.  
  3649.     These files  can generally  be download from  most bulletin  board systems.
  3650.     However, they are definitely  available on Ken  Goosens' RBBS-PC system  at
  3651.     (703) 978-6360.
  3652.  
  3653.     Hints for Building Remote Data Base Applications
  3654.     ------------------------------------------------
  3655.     Generally you will have:
  3656.  
  3657.        - a  questionnaire  driver  that  gives  caller  option  to  exit,  view
  3658.          database, or Enter new data
  3659.        - a macro to retrieve data from file to a form
  3660.        - a macro to save data in a data base format
  3661.        - a data entry routine in the questionnaire.
  3662.  
  3663.     Creating a "full-screen" application is more complicated that than a  line-
  3664.     at-a-time (i.e. TTY)  application.  For full-screen  applications, you will
  3665.     want to:
  3666.  
  3667.        - paint a template  with everything but the data values, such as row and
  3668.          column labels and titles.
  3669.        - clear  out the  existing values  in  a form  and then  put in  the new
  3670.          values.
  3671.  
  3672.     PLANNING YOUR USER INTERFACE                                      Page 7-23
  3673.  
  3674.     Only the changes  to the screen are transmitted  rather than retransmitting
  3675.     the entire screen when only a part changes.
  3676.  
  3677.     ANSI commands are used  to control the screen.  Where  [ESC] stands for the
  3678.     one-character Escape (ASCII 27), the most useful ANSI commands to know are:
  3679.  
  3680.      [ESC][2J    - clear the screen.
  3681.  
  3682.      [ESC][K     - clear from current  cursor position to end of  line.  Cursor
  3683.                    position after clearing is same as before.
  3684.  
  3685.      [ESC][X;Yf  - position  the  cursor   on  row  x  and  column   Y.    E.g.
  3686.                    "[ESC][5;10f" positions on column 10 of row 5.
  3687.  
  3688.     Case is  significant in ANSI  commands, so  beware that "[ESC][k"  will NOT
  3689.     clear to end of line, and "[ESC][1;7F" will not position the cursor.
  3690.  
  3691.     You can use ANSI commands to set  color and blink characters.  An easy  way
  3692.     consistent with RBBS-PC  is to set colors using the SmartText variables C0,
  3693.     C1,  ...,  C4,  where 1-4  are  the  colors set  in  CONFIG  parameter 323,
  3694.     parameter 324, parameter 325, and parameter 326.  C0 is "emphasis off," and
  3695.     restores  normal text  color  preference of  the caller.   An  example that
  3696.     clears the screen, sets color to 1, positions on line 1,  column 15, prints
  3697.     "-Sample Title-", sets color to caller's text preference, prints 2  spaces,
  3698.     and then prints value of work variable 1 is as follows:
  3699.  
  3700.     [ESC][2J{C1[ESC]1;15f-Sample Title-{C0  [1]
  3701.  
  3702.     7.10 RBBS-PC's "SmartText" Variables
  3703.     -----------------------------------
  3704.     SmartText  allows the  SysOp  to substitute  pre-defined variables  in text
  3705.     files  as  menus, bulletins,  help, welcome  files, as  well as  macros and
  3706.     questionnaires.   This  allows  the SysOp  to  present  to each  caller  an
  3707.     interface that is not only "programmable", as discussed in section 7.6, but
  3708.     also tailored to the specific caller.
  3709.  
  3710.     Some applications for SmartText include:  addressing the caller by name, as
  3711.     well as referring customized variables for the caller, such as  city/state.
  3712.     For example,  the welcome  file  could say,  "Hi, <first  name>, how's  the
  3713.     weather in <city/state>?".  SmartText variables can also be used for status
  3714.     line reports in menus, showing such things as security, minutes  remaining,
  3715.     and current time.
  3716.  
  3717.     To utilize  RBBS-PC's SmartText files,  CONFIG parameter 17 must  be set to
  3718.     the decimal value of  a delineation character that the text  editor used by
  3719.     the  SysOp can  handle.    The  character  you  select  should  have  three
  3720.     characteristics:
  3721.  
  3722.          1.   It should be visible on the screen and when printed.  This allows
  3723.               the SysOp to see where the control sequence is when designing the
  3724.               text files to be used as SmartText files.
  3725.  
  3726.          2.   It  should not be  a character that  might be used  for any other
  3727.               purpose in the  text files.  The  character can still be  used in
  3728.               text  files,  but  the  chances  are  slight  that  RBBS-PC  will
  3729.               interpret the character as a SmartText sequence. 
  3730.  
  3731.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 7-24
  3732.  
  3733.          3.   It should  not be  a character  that might  be interpreted,  when
  3734.               printed, as being a printer command (i.e. start double spacing).
  3735.  
  3736.       IMPORTANT:   While RBBS-PC currently  allows you to select  the SmartText
  3737.                    character, we STRONGLY suggest you use the default character
  3738.                    (the { character,  decimal 123).  Future versions of RBBS-PC
  3739.                    will no  doubt rely  heavily on  standard SmartText,  and as
  3740.                    such  will  probably  NO  LONGER allow  you  to  change this
  3741.                    character. 
  3742.  
  3743.     CONFIG  parameter 17  can  have any  value  between 0  and  255.   If 0  is
  3744.     selected, RBBS-PC's SmartText capability will be turned off.
  3745.  
  3746.     A RBBS-PC SmartText control sequence consists of the control character that
  3747.     was  selected  in CONFIG  parameter  17  followed  by a  SmartText  double-
  3748.     character  command.    These SmartText  double-character  commands  MUST be
  3749.     entered  as  upper case  characters!   There  are  two  kinds of  SmartText
  3750.     variables:   those  which substitute  text,  and others  which control  how
  3751.     substitution is done.  The commands are:
  3752.  
  3753.     COMMAND   NAME                MEANING
  3754.  
  3755.      BD  "Bytes Downloaded"  Displays the bytes downloaded today.
  3756.      BN  "BBS Name"          Displays the name of the BBS.
  3757.      CN  "Conference Name"   Name of message base/conference currently in
  3758.      CS  "Clear Screen"      Overrides     RBBS-PC's  automatic   screen  depth
  3759.                              management  so  that   the  next  "Press  Enter to
  3760.                              Continue" will not come halfway through a page.
  3761.      CT  "City/state"        Displays the caller's city & state.
  3762.      C0  "Color 0"           Resets color to the user's selection for text.
  3763.      C1  "Color 1"           Changes  color   to  the   user's  selection   for
  3764.                              Foreground Color One.
  3765.      C2  "Color 2"           Changes  color   to  the   user's  selection   for
  3766.                              Foreground Color Two.
  3767.      C3  "Color 3"           Changes   color  to   the  user's   selection  for
  3768.                              Foreground Color Three.
  3769.      C4  "Color 4"           Changes  color   to  the   user's  selection   for
  3770.                              Foreground Color Four.
  3771.      DB  "Dnld (tot) Bytes"  Inserts the total number of bytes ever  downloaded
  3772.                              by the caller.
  3773.      DD  "Downloads Today"   Inserts  the total  number of files  downloaded by
  3774.                              the caller today.
  3775.      DL  "DownLoads"         Inserts the  total number of files ever downloaded
  3776.                              by the caller.
  3777.      DT  "Date"              Inserts  the  current date,  MM-DD-YYYY,  into the
  3778.                              text file.
  3779.      FI  "FileName"          Inserts current work Filename into the text file
  3780.      FN  "First Name"        Inserts the user's FIRST NAME into the text file.
  3781.      FS  "First Name SySop"  Inserts the SysOp's FIRST NAME into the text file.
  3782.      LN  "Last Name"         Inserts the user's LAST NAME into the text file.
  3783.      LS  "Last Name SysOp"   Inserts the SysOp's LAST NAME into the text file.
  3784.      ND  "Node Number"       Inserts the RBBS-PC Node Number for this node.
  3785.      NS  "Non Stop"          This  causes the  rest of the  current file to  be
  3786.                              displayed  in RBBS-PC's  "none stop"  mode.   Page
  3787.                              breaks will be ignored following a  NS command.
  3788.      PB  "Page Break"        Causes   RBBS-PC   page   break   message,   "MORE
  3789.                              (Y/N/NS/A)"  or  the   "PRESS  ENTER.."  prompt to
  3790.                              appear after the line is printed.
  3791.  
  3792.     PLANNING YOUR USER INTERFACE                                      Page 7-25
  3793.  
  3794.      RP  "Reg Period"        Inserts  the number  of days  in  the registration
  3795.                              period.
  3796.      RR  "Reg Remaining"     Displays  the  days  remaining   in  the  caller's
  3797.                              registration period.
  3798.      SL  "Security Level"    Inserts the user's current security level into the
  3799.                              text file.
  3800.      TE  "Time Elapsed"      Inserts the  user's elapsed  session time  (hh:mm)
  3801.                              into the text file.
  3802.      TM  "Time"              Inserts the time (hh:mm AM/PM) into the text file.
  3803.      TN  "Trim NO"           Substitute as is (the default)
  3804.      TY  "Trim YES"          Remove leading and trailing spaces first
  3805.          Note:   a setting  for trimming remains  in effect until  another trim
  3806.          command is encountered.
  3807.      TR  "Time Remaining"    Inserts   the number of minutes left in the user's
  3808.                              session into  the text file.
  3809.      UB  "Upload Bytes"      Displays  the total number  of bytes ever uploaded
  3810.                              by the user.
  3811.      UL  "UpLoads"           Displays the  total number of  files ever uploaded
  3812.                              by the user.
  3813.      VN  "Overlay NO"        Insert into the text file (the default).
  3814.      VY  "Overlay YES"       Overlay into the text file (do not change length)
  3815.          Note:  an overlay setting remains in effect until explicitly replaced.
  3816.  
  3817.     When designing SmartText files,  each SysOp should  take into account  that
  3818.     some of  the SmartText  commands (i.e. the  user's name)  may significantly
  3819.     extend the length of a line.  It is important that this line elongation  be
  3820.     taken into consideration so that, when the actual text substitution occurs,
  3821.     the line seen by the caller does not exceed 80 characters.
  3822.  
  3823.     What follows is an example of a SmartText file that demonstrates how all of
  3824.     the  above commands  might be  used.   The following  example assumes  that
  3825.     CONFIG parameter 17 has been set to the decimal value 123 for the SmartText
  3826.     delineation character -- {.
  3827.  
  3828.                    Introducing...{C1SmartText!{C0
  3829.  
  3830.          RBBS-PC allows  the SysOp to customize  the text seen by  each caller.
  3831.          For  instance, if the  SysOp wanted to  make sure  this message didn't
  3832.          scroll off the screen, he could pause the display like this:
  3833.          {PB
  3834.  
  3835.          Or, the SysOp may want to show the caller that today's date is {DT and
  3836.          the  time is  {TM.   The SysOp  may even  want to  include a  personal
  3837.          greeting to {FN {LN.
  3838.  
  3839.          The SysOp  can tell the  caller that their  security level is  {SL and
  3840.          that they have been on-line for {TE, and have {TR minutes left in this
  3841.          session.
  3842.  
  3843.     This  kind  of  capability  illustrates  RBBS-PC's on-going  commitment  to
  3844.     nurturing each SysOp's creativity and avoiding the dogmatic.
  3845.  
  3846.     7.11 "Colorizing" the RBBS-PC User Interface
  3847.     --------------------------------------------
  3848.     "Colorization" refers to the utilization of color within RBBS-PC text files
  3849.     and prompts.  RBBS-PC has long supported graphics versions of external text
  3850.     files,  and is  even distributed  with  graphics menus.   RBBS-PC  supports
  3851.     "colorization" as follows:
  3852.  
  3853.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 7-26
  3854.  
  3855.      1) In files shown to the callers including:
  3856.               the prelog
  3857.               all menus,
  3858.               all bulletins,
  3859.               the Welcome file,
  3860.               the file for new users,
  3861.               all on-line help files,
  3862.               standard file directories, and
  3863.               FMS file directories (see item 6 below).
  3864.  
  3865.      2) Via highlighted text
  3866.               in searches of messages,
  3867.               in searches of files,
  3868.               in announcing new personal mail waiting,
  3869.               for locked out users, and
  3870.               the SysOp user maintenance (function 5).
  3871.  
  3872.     Highlighting  supports   a  limited   but  extremely   functional  use   of
  3873.     colorization  - to make it easy for  the caller to spot significant bits of
  3874.     text on a screen.
  3875.  
  3876.      3) Within the Programmable user interface (PUI).
  3877.     The PUI file  can have graphics  versions just like  text files.  The  file
  3878.     XMAIN.PUI  that  was  used in  the  example  in section  7.6.2  can  have a
  3879.     graphic's  equivalent  named  XMAING.PUI  and   a  color  equivalent  named
  3880.     XMAINC.PUI.  Color codes can be embedded in the prompts in the PUI as  well
  3881.     as external text files.   Each SysOp has total freedom  to colorize prompts
  3882.     as well as menus.
  3883.  
  3884.      4) Within text internal to RBBS-PC.
  3885.     This applies  to  standard (non-PUI)  prompts,  such as  the  main  command
  3886.     prompt, and to formatted  reports, like the message scan and  message read.
  3887.     This type of "colorization" is controlled by whether highlighting has  been
  3888.     turned on in CONFIG.
  3889.  
  3890.      5) Within RBBS-PC's "short" prompts.
  3891.     Caller foreground color 4 is used  to mark the commands the user can  type.
  3892.     Emphasis is used to mark the default selection.  This colorization is based
  3893.     on a scan of the text to be printed:
  3894.  
  3895.          [...] :   will be highlighted (default answer)
  3896.          (xxx) :   will be put in foreground color 4  (text to type in): if xxx
  3897.                    is not longer than 2 characters and is in caps
  3898.          <...> :   will be put in foreground  color 4 (collective choices)  and
  3899.                    if  there  are  words  before  this,  the  first  will   use
  3900.                    foreground 1 and the second, foreground 2.
  3901.  
  3902.     "Short"  prompts  colorization applies  to  ALL text  displayed  by RBBS-PC
  3903.     before an answer is expected.  For example, by using the above conventions,
  3904.     questionnaires   can  be  colorized.     This  is   controlled  by  whether
  3905.     highlighting is on.
  3906.  
  3907.      6) Within FMS file directories.
  3908.     The "colorization" of the FMS file directories  is based on the four colors
  3909.     specified  in CONFIG  and is controlled  by whether  or not the  caller has
  3910.     selected to be in color graphics mode or not.
  3911.  
  3912.     There are two extremes on the use of color: use none or use it everywhere.
  3913.  
  3914.     PLANNING YOUR USER INTERFACE                                      Page 7-27
  3915.  
  3916.     By using no colorization, RBBS-PC's performance is optimized.  RBBS-PC does
  3917.     not have to go through the overhead of transmitting special instructions to
  3918.     control the caller's screen.  The two chief functions of BBSs, transmission
  3919.     of textual information and  file exchange, do  not essentially involve  the
  3920.     use of color.
  3921.  
  3922.     Of  course, there  are those  who want their  RBBS-PC's visual  displays to
  3923.     convey as much as the text or the files themselves (i.e. the  message is in
  3924.     the medium).  These are the SysOps who elect to use color everywhere.  With
  3925.     the  use of  color, plain text  begins to  look drab and  uninteresting and
  3926.     attention tends  to focus  on the colorized  text.   For this  reason, some
  3927.     SysOps find it difficult to use color in some places and not in others.
  3928.  
  3929.     Colorization is  implemented in  RBBS-PC with  ANSI display  commands.   In
  3930.     order for a caller to see the colors as RBBS-PC displays them, the terminal
  3931.     emulator  used by the  caller MUST  be ANSI-compliant.   CONFIG  allows the
  3932.     SysOp to activate  and customize colorization on screen  17, "RBBS-PC Color
  3933.     Parameters".
  3934.  
  3935.      1)  Use CONFIG's parameter 321 to put in a string for turning EMPHASIS on.
  3936.          The  recommendation  is   a  bright   foreground  on  red   background
  3937.          ("[27][1;41m").
  3938.  
  3939.      2)  Use CONFIG's parameter 322 to set the string for normal text.  This is
  3940.          the general  default color  and is  used to  turn off  emphasis.   The
  3941.          recommended color is amber (normal yellow) ("[27][0;33m").
  3942.  
  3943.      3)  Use parameter 323, 324, 325 and 326  of CONFIG to set the four  caller
  3944.          foreground colors.  CONFIG uses natural language phrases to set these,
  3945.          so it is very easy.  The recommendation, in order, is:
  3946.  
  3947.               bright green,
  3948.               bright yellow,
  3949.               bright purple, and
  3950.               bright cyan.
  3951.  
  3952.     These colors are all used in the message header and general command prompt.
  3953.     Foreground 4 is used to highlight the commands the caller actually needs to
  3954.     type in to select that option.
  3955.  
  3956.     No colors  will be displayed if these parameters  are set to empty strings.
  3957.     Callers can  turn off the colorization  simply by going into  Utilities and
  3958.     T)oggle H)ighlite to  "off".  The default in RBBS-PC is for colorization to
  3959.     be OFF.
  3960.  
  3961.     Colorization  is based  on the ANSI  standard.   Special codes are  sent by
  3962.     RBBS-PC  to  the callers  system, which  must  then be  interpreted  by the
  3963.     caller's communications software.
  3964.  
  3965.     7.12 RBBS-PC's Automatic Operator Page Option
  3966.     ---------------------------------------------
  3967.     RBBS-PC will "automatically page" the SysOp whenever a specified caller  or
  3968.     group of  callers logs on to RBBS-PC or  joins a specific "sub-board".  The
  3969.     selection criteria can  be a specific  caller's name,  a range of  security
  3970.     levels, or  whether the  caller is  a new  user.   A SysOp  may wish  to be
  3971.     notified for any number of reasons including:
  3972.  
  3973.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 7-28
  3974.  
  3975.        - A caller has been causing trouble  on the bulletin board and needs  to
  3976.          be monitored.
  3977.        - The SysOp  wants, for  security reasons, to  be notified  when anybody
  3978.          logs on with a SysOp security level.
  3979.        - The SysOp wants to chat with a friend but does not want to continually
  3980.          monitor RBBS-PC's activity.
  3981.  
  3982.     AutoPage  is  controlled  by  a  file whose  name  is  specified  in CONFIG
  3983.     parameter 18 (the default name is AUTOPAGE.DEF).   Each line in the file is
  3984.     a separate AutoPage command.   The line contains 4 parameters  separated by
  3985.     commas.  The format is
  3986.  
  3987.          <condition>,<notify caller?>,<# of times>,<music>
  3988.  
  3989.          <condition>         Can  be  a  NAME enclosed  in  quotes,  the string
  3990.                              "NEWUSER", or a security level range  specified in
  3991.                              the format
  3992.  
  3993.                                   /<min sec>/<max sec>
  3994.  
  3995.                              where:
  3996.  
  3997.                                   <min sec> is the minimum security level
  3998.                                   <max sec> is the maximum security level
  3999.  
  4000.          <notify caller?>    Is "N" if  the caller also is to  be notified that
  4001.                              the SysOp has  been notified when the  caller logs
  4002.                              on.   Anything else means the caller will not know
  4003.                              that the SysOp has been paged automatically.
  4004.  
  4005.          <# of times>        Is the number of times that the PC's  speaker will
  4006.                              be sounded.
  4007.  
  4008.          <music>             Is a BASIC  music command to be used  instead of a
  4009.                              beep.   If nothing  is specified,  a beep  will be
  4010.                              used.
  4011.  
  4012.     Warning:  on some PC's  the playing of music produces "out  of string space
  4013.     errors".   Test any music before using.   Beeps always work fine.
  4014.  
  4015.     Examples:
  4016.  
  4017.     "SEXY DEVIL",,1,L4EDC    AutoPage when a  caller named SEXY DEVIL  logs on,
  4018.                              do not notify the caller, and play "L4EDC".
  4019.  
  4020.     "GREGG SNYDER",N,2,      AutoPage  when GREGG  SNYDER  logs on,  notify the
  4021.                              caller, and beep the speaker twice.
  4022.     "NEWUSER",,1,            AutoPage  when  any  new caller  logs  on,  do not
  4023.                              notify the caller, and beep the speaker once.
  4024.  
  4025.     /10/12,N,2,              AutoPage when anyone with security 10  through 12,
  4026.                              inclusive, logs on,  let them know that  the SysOp
  4027.                              wants to be notified that they are on, and to beep
  4028.                              the Speaker twice.
  4029.  
  4030.     The status line at the bottom of the RBBS-PC screen will read "AP!" for the
  4031.     duration of  the caller's  session if RBBS-PC  has automatically  paged the
  4032.  
  4033.     PLANNING YOUR USER INTERFACE                                      Page 7-29
  4034.  
  4035.     SysOp.  This allows the SysOp to know that the AutoPage took place, even if
  4036.     the SysOp was not present at the beginning of the call.
  4037.  
  4038.     If the caller triggers more than  one AutoPage command, the first condition
  4039.     encountered will be used.
  4040.  
  4041.     Since each  "sub-board" can  have a  different AutoPage  command file,  the
  4042.     SysOp has the  option to be automatically paged based on different criteria
  4043.     for each "sub-board".
  4044.  
  4045.     7.13 Enhancing the File View Function
  4046.     -------------------------------------
  4047.     Within the  File Subsystem of RBBS-PC the V)iew function, allows the caller
  4048.     to get a list of  files that are "archived" inside a single  file.  RBBS-PC
  4049.     supports .ARC,  .LZH, .PAK, and  .ZIP compression  formats, as well  as ANY
  4050.     format using SysOp-installed external procedures.
  4051.  
  4052.     RBBS-PC  assumes  that  the  file  extension  will  identify  the  type  of
  4053.     compression.  Hence, the SysOp can  install a View function for files  with
  4054.     extension ".XYZ".   All the SysOp must do is  put a .BAT file with the name
  4055.     "Vxyz.BAT" on the same  disk and path specified for COMMAND.COM  via CONFIG
  4056.     parameter  105.   If such  a file  is present,  RBBS-PC will  shell to  the
  4057.     command in  Vxyz.BAT whenever  a caller  asks to  V)iew any  file with  the
  4058.     extension .XYZ.   SHELLing  requires extra system  RAM beyond  what RBBS-PC
  4059.     uses.  If your  system has little or no free memory, you  may be limited to
  4060.     using the internal V)iew feature of RBBS-PC.
  4061.  
  4062.     RBBS-PC includes the following files for external View support:
  4063.  
  4064.          ARCVIEW.COM    Compiled C program  for view of DWC, PAK,  ZOO, and ARC
  4065.                         files.  Used in VDWC.BAT, VZOO.BAT.
  4066.  
  4067.          VDWC.BAT       Processor for DWC files
  4068.          VZOO.BAT       Processor for ZOO files
  4069.  
  4070.     Each BAT file contains in it:
  4071.  
  4072.          ARCVIEW [1] > [2]
  4073.  
  4074.     RBBS-PC will  SHELL to the above program (not  to the BAT file) after first
  4075.     substituting the name of  the file to be listed  for "[1]" and the name  of
  4076.     the file to place the results of the listing for "[2]".  The ">" is the DOS
  4077.     "redirect"  function,  which causes  the output  to be  placed in  the file
  4078.     instead of on the local screen.
  4079.  
  4080.     The file specified in [2] is named "NODE?WRK" when  the wildcard "?" is the
  4081.     node id (1,2,3,...).
  4082.  
  4083.     How to Implement Your Own View function
  4084.     ---------------------------------------
  4085.     Your view program must have a way to receive from RBBS
  4086.  
  4087.        - the name of the file to list
  4088.        - the name of the file to write the listing to.
  4089.  
  4090.     RBBS-PC will interface  with your program in two  different ways, depending
  4091.     on how many lines your BAT file contains.
  4092.  
  4093.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 7-30
  4094.  
  4095.     If the BAT file contains exactly 1 line, RBBS-PC will shell to  the line in
  4096.     the BAT file and not to the BAT file itself.  RBBS-PC will dynamically scan
  4097.     for "[1]" and  "[2]" in the line and substitute the names of the file to be
  4098.     listed and the file to write the results to, respectively.  Everything else
  4099.     will be left intact.
  4100.  
  4101.     If the BAT file contains more than one  line, RBBS-PC will shell to the BAT
  4102.     file,  passing as command line parameters the name of the file to list, and
  4103.     the name of the results file.
  4104.  
  4105.     For example, the following BAT file could be used:
  4106.  
  4107.          ECHO OFF
  4108.          ECHO %1 >> VIEW.LOG
  4109.          ARCVIEW %1 > %2
  4110.          ECHO ON
  4111.  
  4112.     The  statement  "ECHO %1  >>  VIEW.LOG" will  create  a list  of  all files
  4113.     selected for  view.   ">>" means  to append the  view file  name to  a file
  4114.     called "VIEW.LOG".
  4115.  
  4116.     Using ZIPTV
  4117.     -----------
  4118.  
  4119.     Ziptv is a program distributed by  Samuel H. Smith which supports not  only
  4120.     View, but the ability to list any file inside of a ZIP file, thus  allowing
  4121.     users to view documentation  before downloading a file.    Many SysOps will
  4122.     want to install ZIPTV to replace the internal RBBS-PC View function.  To do
  4123.     so, create a VZIP.BAT as follows:
  4124.  
  4125.          DEL %2
  4126.          <path>ZIPTV -P%3 %1
  4127.  
  4128.     Where <path> is the drive and subdirectory where you have placed ZIPTV.EXE.
  4129.  
  4130.     7.14 Bulletins and News
  4131.     -----------------------                                                    
  4132.     RBBS-PC has  very powerful and  flexible features for  broadcasting system-
  4133.     wide information  to callers.   The following  table describes  the various
  4134.     NEWS options:
  4135.  
  4136.     PLANNING YOUR USER INTERFACE                                      Page 7-31
  4137.  
  4138.                                                                                
  4139.       When the caller will see           Which file will the caller see        
  4140.               the news                                                         
  4141.                                                                                
  4142.      Every time the caller logs  The file PRELOG is displayed before callers   
  4143.      on.                         are asked their names.  This information      
  4144.                                  should be kept very brief.                    
  4145.                                                                                
  4146.      Only when a NEW USER logs   The file NEWUSER is shown to new users only   
  4147.      on.                         the first time they log on.                   
  4148.                                                                                
  4149.      On every call, after the    The file WELCOME is displayed after a         
  4150.      caller logs on.             successful logon.  For graphic and color      
  4151.                                  versions of this file, see section 6.3.       
  4152.                                                                                
  4153.      Only when the SysOp has     The NEWS file is displayed if the date of     
  4154.      updated information since   last log on is the same or earlier than the   
  4155.      the last time the caller    date of the news file.  The news file also    
  4156.      was on the BBS.             can be read by using the "B N" command        
  4157.                                  (Bulletin News).                              
  4158.                                                                                
  4159.      Every time the caller logs  The logoff questionnaire, EPILOG.DEF is       
  4160.      off.                        processed at logoff, and can be used to       
  4161.                                  display news at this time.  See section 19.   
  4162.                                                                                
  4163.      Available on request by     The RBBS-PC general Bulletin files.           
  4164.      the caller.                                                               
  4165.                                                                                
  4166.  
  4167.     General Bulletin Files
  4168.     ----------------------
  4169.     General bulletins  are text files prepared by the  SysOp that can be viewed
  4170.     by the callers when  they first log on, or at any  time during the caller's
  4171.     session.  To  configure bulletins, you must  first decide if you  will used
  4172.     NUMBERED bulletins, NAMED bulletins, or both.  The only difference  between
  4173.     numbered and named bulletins is in how RBBS-PC scans for new bulletins when
  4174.     a caller logs on.  With numbered bulletins ONLY, RBBS-PC uses the number of
  4175.     bulletins specified  in CONFIG parameter 62 to find  new bulletins.  If the
  4176.     SysOp uses NAMED bulletins, each bulletin must be identified to RBBS-PC (in
  4177.     the file BULLET.FCK) in order to scan for new bulletins.
  4178.  
  4179.     RBBS-PC will  list the new bulletins  on logon by the name  of the bulletin
  4180.     that the user would type.   This lets the SysOp add a description after the
  4181.     name and better control the form of the output on the caller's screen.  The
  4182.     scan  of new bulletins  is controlled by  the Bulletin Prefix  specified in
  4183.     config,  plus the  extension "FCK".    The  default prefix is  "BULLET", so
  4184.     "BULLET.FCK" would be the file that lists the bulletins to be checked.
  4185.  
  4186.     BULLET.FCK should contain the name of the bulletin,  one to a line.  To add
  4187.     a description,  simply add  the description after  the bulletin  name.    A
  4188.     space must separate the name from the description.  For example,
  4189.  
  4190.      1 - Board Policies
  4191.      2 - Best BBS's
  4192.  
  4193.     would display
  4194.  
  4195.     2 New bulletin(s)  1 - Board Policies  2 - Best BBS's
  4196.  
  4197.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 7-32
  4198.  
  4199.     instead of
  4200.  
  4201.     2 New bulletin(s)  1 2
  4202.  
  4203.     Note:   by  putting the  entry  in double  quotes, you  can  embed carriage
  4204.     returns line feeds in the description to make the display come out one to a
  4205.     line.   For example,
  4206.  
  4207.     "   1 - Board Policies
  4208.     "
  4209.     "   2 - Best BBS's
  4210.     "
  4211.  
  4212.     would display as
  4213.  
  4214.  
  4215.     2 New bulletin(s)
  4216.        1 - Board Policies
  4217.        2 - Best BBS's
  4218.  
  4219.     Note:  the first word must be the name of the bulletin.  Leading spaces can
  4220.     be put in to indent the display.
  4221.  
  4222.     To create a  bulletin, use CONFIG parameter 61 to set the location and name
  4223.     of the bulletin  menu, and set parameter 63 to the desired bulletin prefix.
  4224.     If you are using numbered bulletins, also set parameter 62 to the number of
  4225.     bulletins.
  4226.  
  4227.     Ex:  Set parameter 61 to: C:\RBBS\BULLETIN\BMAIN.MNU
  4228.          Set parameter 63 to: B
  4229.  
  4230.     When RBBS-PC looks for bulletins, it will use parameter 61 for the location
  4231.     of each bulletin, and parameter  63 to build the file  name.  If you  would
  4232.     like  a   bulletin   named  TEST,   RBBS-PC   will  look   for   the   file
  4233.     C:\RBBS\BULLETIN\BTEST.
  4234.  
  4235.     Any TEXT editor  can be used to create bulletins.  The bulletin can contain
  4236.     ASCII  text,  extended  ASCII  graphics, or  ANSI  color.    By  naming the
  4237.     bulletins  properly,  RBBS-PC's  graphic support  will  display  the proper
  4238.     bulletin to the caller (e.g. BTESTC. would be the COLOR version of bulletin
  4239.     TEST).  See section 6.3 for details.
  4240.  
  4241.     The bulletin menu defined in CONFIG  parameter 61 should contain a list  of
  4242.     available  bulletins.    The .MNU  extension  activates  RBBS-PC's sub-menu
  4243.     feature (see section 7.7).
  4244.  
  4245.     If only numbered bulletins  are used, RBBS-PC will be able to  scan for new
  4246.     bulletins automatically (as  long as parameter 62 has  the proper setting).
  4247.     For named  bulletins, you must  create a list  of bulletins for  RBBS-PC to
  4248.     scan.  The list should be in the file <prefix>.FCK in the same directory as
  4249.     all the  bulletins.  The <prefix> is what is specified in parameter 63.  In
  4250.     our  example, this  file would be  called B.FCK.   Each bulletin  should be
  4251.     listed, without the prefix, one per line.  Ex:
  4252.  
  4253.          TEST
  4254.          1
  4255.          2
  4256.          RBBS-PC
  4257.  
  4258.     PLANNING YOUR USER INTERFACE                                      Page 7-33
  4259.  
  4260.     would check the date of the files BTEST, B1, B2 and BRBBS-PC.  Note that B1
  4261.     and  B2 are  considered  Numbered  bulletins, but  if  B.FCK is  used,  ALL
  4262.     bulletins are considered Named bulletins.
  4263.  
  4264.     News Bulletin File
  4265.     ------------------
  4266.     The NEWS file  is a special bulletin  that is automatically displayed  to a
  4267.     caller at  login if  it has been  updated since  his last  call.  The  NEWS
  4268.     bulletin is NOT  located with  the general  bulletin files.   It should  be
  4269.     placed in  the same directory as  the WELCOME file.   The name of  the NEWS
  4270.     file is  <conference>.NWS.  The  <conference> is  the name  of the  RBBS-PC
  4271.     conference to which  the news belongs (each conference  can have a separate
  4272.     news file).   The  MAIN news  file,  shown to  callers at  login, is  named
  4273.     MAIN.NWS.  News files can support color and graphics (see section 6.3).
  4274.  
  4275.     UNIQUELY IDENTIFYING YOUR CALLERS                                  Page 8-1
  4276.  
  4277.     8. UNIQUELY IDENTIFYING YOUR CALLERS
  4278.     ------------------------------------
  4279.     All callers  need a  way to  identify themselves  to RBBS-PC  and to  other
  4280.     callers.   RBBS-PC expects  each caller  to set  a password  so that  other
  4281.     callers cannot  easily pretend to be that caller.   Callers are most easily
  4282.     known on  bulletin boards  the same way  they are known  in real life  - by
  4283.     first and last name.  This is why the default configuration in RBBS-PC uses
  4284.     first and last name to IDENTIFY users.  The first/last name is the caller's
  4285.     identity or ID.
  4286.  
  4287.     RBBS-PC also  allows the  SysOp to identify  callers uniquely  by something
  4288.     other than their first and last names.  Perhaps the SysOp wants a one  word
  4289.     alias to be  allowed, or perhaps callers must use a preassigned access code
  4290.     (access code, employee  number, account number, etc.).   RBBS-PC allows ANY
  4291.     FIELD inside the users file to be used for identification.  Since there are
  4292.     empty, unused areas in the user  file, a SysOp can even create a  new field
  4293.     to be used for caller identification.
  4294.  
  4295.     When  anything other  than name  is used  to identify users,  RBBS-PC still
  4296.     wants  callers  to  specify  their  names.    It  just  does  not  use that
  4297.     information to identify them.
  4298.  
  4299.     A fairly common problem on bulletin board systems with large user  lists is
  4300.     that two callers can have the same first and last name.  A caller discovers
  4301.     this when they are unexpectedly asked for a password on the first call to a
  4302.     new system,  indicating that  another caller  has already  used that  name.
  4303.     Further,  since  RBBS-PC  is  used  world-wide  many  non-English  speaking
  4304.     countries have callers with names that have embedded blanks, etc.   RBBS-PC
  4305.     alleviates  this problem  by allowing  interior  blanks in  first and  last
  4306.     names.  Thus JIM JONES  can register as JIM K JONES or JIM  JONES SR or JIM
  4307.     JONES III.
  4308.  
  4309.     By  allowing  ANY field  inside  the user  record  to be  used  to uniquely
  4310.     identify individual callers, RBBS-PC alleviates the basic problem of having
  4311.     two callers with the same name.
  4312.  
  4313.     This additional INDIVIDUATION field is used to distinguish callers with the
  4314.     same ID.  When individuation is used, callers will have to specify both the
  4315.     identifying and individuation field.  Both are used to find a record in the
  4316.     users file.  This individuation field  can likewise be a new field  created
  4317.     by the SysOp.  For example, the SysOp can specify  that callers be uniquely
  4318.     identified by  both their  name and  their CITY/STATE.   Alternatively  the
  4319.     SysOp  can  specify that  callers are  to be  uniquely identified  by their
  4320.     telephone number, which  would be a new field  for RBBS-PC to store.   Note
  4321.     that when using individuation,  ALL callers must use it, not  just the ones
  4322.     with identical names.
  4323.  
  4324.     8.1 Setting Up Identifying and Individuation Fields
  4325.     ---------------------------------------------------
  4326.     The identifying  and  individuation fields  in  RBBS-PC are  controlled  by
  4327.     parameter 41 through  46 in  CONFIG.  The  default is to  use the  caller's
  4328.     first and last name to uniquely identify a user. 
  4329.  
  4330.     The fields available to uniquely identify a caller (other than the caller's
  4331.     first and last name) are designated  in CONFIG by the starting position  in
  4332.     the users  file and length.  It is  essential therefore to understand WHERE
  4333.     FIELDS ARE  STORED IN  THE USER FILE.   Consult  Appendix A for  a detailed
  4334.     layout of the user file.
  4335.  
  4336.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page 8-2
  4337.  
  4338.     RBBS-PC's flexibility  requires care when selecting the locations of fields
  4339.     used to identify and individuate, because options can be selected that make
  4340.     no sense.   For  example, it  is possible  to specify  the user  preference
  4341.     field, which  means that  every time  a user  changed preferences,  such as
  4342.     default protocol, the user would have a different ID.
  4343.  
  4344.     There are only two fields in the user file  that make sense for identifying
  4345.     users:
  4346.  
  4347.       1) first/last name (column positions 1-31), or
  4348.       2) a  field designated  by you  as the  SysOp for  your  RBBS-PC.   For a
  4349.          SysOp-designated field, only 4 choices make sense:
  4350.               a) none,
  4351.               b) name (columns 1-31),
  4352.               c) city/state (columns 63-86), or
  4353.               d) positions 87-97 in the user record currently "unused."
  4354.  
  4355.     Positions 87-97 of the users record (currently unused) provides a potential
  4356.     11 columns  to  use for  SysOp designated  fields.   However,  there is  no
  4357.     guarantee  that these  positions will  not be  used in  future releases  of
  4358.     RBBS-PC.  Additional  fields will be  used from the  far right.   Any SysOp
  4359.     intending to utilize this  area of the users record is  safest if the field
  4360.     selected begins in column 87 and is as short as possible.
  4361.  
  4362.     When a SysOp-designated field  is created, the SysOp  must also supply  the
  4363.     prompt to  be used with the field.  The  prompt is what is displayed to the
  4364.     caller when asking for the value of the field.
  4365.  
  4366.     RBBS-PC uses the callers first and last name for the "to" and "from" fields
  4367.     for messages  even when the  users name is not  the field used  to uniquely
  4368.     identify callers.
  4369.  
  4370.     8.2 Preloading Identities For Instant Access
  4371.     --------------------------------------------
  4372.     SysOps  who operate bulletin  boards that are  open to new  callers have no
  4373.     problems giving a new  caller instant access --  new  callers register, set
  4374.     their identity and password, and are recorded in the USER file.
  4375.  
  4376.     SysOps  that  operate     bulletin  boards  that  are   only  available  by
  4377.     subscription  or who  delay  access operate  differently  --   a  user must
  4378.     already know and  be able to state identity, individuation, and password in
  4379.     order to get  on.  To add  a new user, the  values of these fields  must be
  4380.     communicated back  to the  caller in  order for  them to  have access.   To
  4381.     overcome this cumbersome  approach, some SysOps allow new  callers on their
  4382.     system (at a reduced  security level) and then raise the  security level of
  4383.     the caller once the caller has met whatever criteria  the SysOp has set for
  4384.     access to the system.
  4385.  
  4386.     Typically new callers must call back and continue to check to  see if their
  4387.     security  level has been raised.   Systems that  do not let  new callers on
  4388.     require the SysOp to  enter the appropriate information for  each new user,
  4389.     contact the new caller  by mail or phone, and let them  know how to connect
  4390.     to  the RBBS-PC.    Both approaches  introduce delays  to  new callers  for
  4391.     getting on and additional time, expense and overhead for the SysOp.
  4392.  
  4393.     RBBS-PC provides a systematic solution to the problem of delayed access for
  4394.     new  users.  A  SysOp can add  a user WITH  NO VALUE  FOR THE INDIVIDUATION
  4395.     FIELD OR PASSWORD.  These fields can be  left blank.  When a caller logs on
  4396.  
  4397.     UNIQUELY IDENTIFYING YOUR CALLERS                                  Page 8-3
  4398.  
  4399.     with a proper  ID and RBBS-PC finds an individuation value or password that
  4400.     is  blank,  it  lets the  caller  set  the value  of  those  fields without
  4401.     requiring a match.   Subsequent calls,  but not the  first, must match  the
  4402.     value set for individuation and password.
  4403.  
  4404.     Even though a SysOp can add a user and leave the password and individuation
  4405.     blank, this still requires that the SysOp add  the user only after an ID is
  4406.     agreed to  by both parties.  What if this  access is still not fast enough?
  4407.     The solution provided  by RBBS-PC is  for the SysOp  to "pre-load" IDs  and
  4408.     give  out a  pre-loaded ID to  the caller  for instant access,  so that the
  4409.     client does not have to wait even for the SysOp to add the ID.  Since there
  4410.     is no way  to set in advance how  a user wants to be  identified, the SysOp
  4411.     can set up essentially random account IDs which are difficult to guess.
  4412.  
  4413.     Callers who pre-pay  the subscription fees can be given  a valid pre-loaded
  4414.     ID for instant access.  The ability of  RBBS-PC to use any field for an ID,
  4415.     and let  the first call set individuation  and password, means that RBBS-PC
  4416.     can support  boards  where  instant access  is  a critical  part  of  their
  4417.     service.
  4418.  
  4419.     RBBS-PC's AUTOMATIC SUBSCRIPTION/TIME MANAGEMENT                   Page 9-1
  4420.  
  4421.     9. RBBS-PC's AUTOMATIC SUBSCRIPTION/TIME MANAGEMENT
  4422.     ---------------------------------------------------
  4423.     RBBS-PC has  support built into it for managing access based on the date of
  4424.     the  call, and the time of  day.  As with  the other RBBS-PC features, this
  4425.     support is optional.  The primary uses of this facility are:
  4426.  
  4427.        - to make it very easy to control access based on subscription dates.
  4428.        - to give callers a temporary, date-limited boost in privileges.
  4429.        - to vary  the amount of time that  a caller has for a  session based on
  4430.          the time of day.
  4431.  
  4432.     Once   subscription  management   is   configured,   RBBS-PC  handles   all
  4433.     subscription  maintenance.    After  a  user  is  registered, RBBS-PC  will
  4434.     automatically:
  4435.  
  4436.       1) warn users before their subscription expires
  4437.       2) reduce the security of callers whose subscription has expired.
  4438.  
  4439.     The  SysOp can send a message when  the subscription is about to expire, by
  4440.     creating  the file  RGXPIRE.HLP and  placing it  in the  RBBS-PC help  file
  4441.     directory.  The number of days before expiration to warn is set with CONFIG
  4442.     parameter 50.  When a caller's subscription expires, their security will be
  4443.     updated, and the help file RGXPIRD.HLP (if it exists) will be displayed.
  4444.  
  4445.     The  subscription and  time management  system can  also be  used  to grant
  4446.     callers a temporary boost in privileges.  For example, giving new callers a
  4447.     "free" trial period.
  4448.  
  4449.     Just as  cable TV channels sometimes have a free week of viewing to attract
  4450.     new subscribers, a SysOp of a subscription  RBBS-PC can set up limited free
  4451.     offers. By setting up a default subscription period of say, 5 days, all new
  4452.     callers can  be let onto  to see whether they  want to subscribe.   After 5
  4453.     days, security drops back down to a more limited level.  This "free" period
  4454.     can be made a standing offer, or turned off after a two week period.  Or, a
  4455.     user  who requests a  trial period can  be individually added  with a short
  4456.     subscription period.
  4457.  
  4458.     Limited trial  subscriptions also are  an attractive alternative  for those
  4459.     SysOps that do not  give full privileges until after a  caller is verified.
  4460.     These callers  are either asked to fill out  a registration form or leave a
  4461.     comment,  and the  SysOp later  decides  whether to  increase the  security
  4462.     level.  By letting  new users have a short registration  period with higher
  4463.     privileges, say 3  days, a SysOp may  choose to give new  callers immediate
  4464.     access,  so the  caller  is not  penalized  while waiting  for the  SysOp's
  4465.     decision.   The SysOp need do  nothing if a  caller cannot be  verified, as
  4466.     RBBS-PC will automatically  reduce their security in a few days.  The SysOp
  4467.     will manually raise the security of callers who are verified.
  4468.  
  4469.     9.1 Setting It Up
  4470.     -----------------
  4471.     The  subscription management system is turned on by specifying in CONFIG to
  4472.     limit callers by  subscription date.  After  access is so  limited, RBBS-PC
  4473.     automatically records the date of the first call.  For old users, this will
  4474.     be the first call made since RBBS-PC began to limit  access.  This recorded
  4475.     date is the base  registration date.   The SysOp then  needs to specify  in
  4476.     CONFIG:
  4477.  
  4478.        - A default subscription period (the number of days a new user gets).
  4479.  
  4480.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page 9-2
  4481.  
  4482.        - A warning period (which  determines when callers  will get an  advance
  4483.          warning  that their  subscription is  about  to expire.   The  warning
  4484.          period is the number of days left before triggering a warning.)
  4485.        - The security level expired subscribers get.
  4486.  
  4487.     In  the PASSWRDS file, the  SysOp designates different subscription periods
  4488.     for  each security  level (other  than the default  security level).   This
  4489.     needs to be  specified only if a  subscription period is desired  that will
  4490.     override the default.
  4491.  
  4492.     RBBS-PC  determines  when  the  subscription  will  expire  by  adding  the
  4493.     subscription period to  the base registration date.   Persons calling after
  4494.     this expiration date are reduced to  the expired security level set by  the
  4495.     SysOp in CONFIG.
  4496.  
  4497.     The time management of RBBS-PC is automatically activated when the presence
  4498.     of  the  PASSWRDS  file is  detected.    See section  15.3  for  a complete
  4499.     description of the PASSWRDS file.
  4500.  
  4501.     9.2 Allocating Time in Blocks
  4502.     -----------------------------
  4503.     SysOp function  5 allows the expired time to be  set to a negative number. 
  4504.     Since the  expired time is subtracted from the  session time, a negative in
  4505.     effect increases the session  time.   This ability lets  the SysOp allocate
  4506.     the  user a "block" of time  on the BBS, in  addition to any normal session
  4507.     time.  This block can be used in a single session, or over different days. 
  4508.     There is  no time  limit  on the  use of  the block  of  time, which  never
  4509.     expires.   If desired then, subscription BBS's  can sell time on the BBS in
  4510.     blocks of session time rather than by date.   For example, one might offer
  4511.  
  4512.     o    $10 per 5 hours of session time.
  4513.  
  4514.     Then, upon payment,  the SysOp would simply  set the expired time  to -300,
  4515.     since the expired time is in units of minutes.   This feature could also be
  4516.     conveniently used to give
  4517.  
  4518.     o     people temporary excess time on the BBS.
  4519.  
  4520.     If,  for example,  a  caller needed  say  a hour  and  a half  to get  some
  4521.     unusually  large file,  the SysOp could  change the  expired time to  -90. 
  4522.     There would be  no time limit on when  the 90 extra minutes had  to be used
  4523.     and the SysOp doesn't have to make up some special security level.   If the
  4524.     caller used  50 minutes one  day, then the expired  time would set  to -40,
  4525.     leaving 40 additional minutes of session time to be used.
  4526.  
  4527.     9.3 Banked Time
  4528.     ---------------
  4529.     A caller can deposit  unused session time in the time  bank, to withdraw it
  4530.     later to increase  the session time.    This  allows callers to cumulate  a
  4531.     large session  without requiring  any  special effort  on the  part of  the
  4532.     SysOp.   The  caller would simply go  into the utilities section,  use "B",
  4533.     and then "D)eposit".   Time deposited in  the bank is immediately  added to
  4534.     the expired time of the caller and reduces the current session time.
  4535.  
  4536.     Banked time is  "global" in that, regardless  of what subboard the  time is
  4537.     banked, it will  be added to the  logon user record  and carry over to  any
  4538.     subboard when withdrawn from the bank.  The banked time in a  subboard will
  4539.  
  4540.     RBBS-PC's AUTOMATIC SUBSCRIPTION/TIME MANAGEMENT                   Page 9-3
  4541.  
  4542.     always show 0 even if it is banked while in the subboard.   Hence, the user
  4543.     will typically not be able to withdraw banked time when in a subboard.
  4544.  
  4545.     The SysOp controls  the maximum amount of  time that can be  deposited, for
  4546.     any number of minutes  from 0 (none allowed) to 255.    The default maximum
  4547.     allowed is specified by  parameter 292 in CONFIG.   The default amount that
  4548.     CONFIG sets up for a new DEF file is 60.  The default can be overridden for
  4549.     any security level by  specifying the max in the PASSWRDS file  in the 13th
  4550.     (last) position.
  4551.  
  4552.     The SysOp function 5 allows the SysOp to reset both the banked time as well
  4553.     as  the  expired  time for  a  user,  making it  very  easy  to give  users
  4554.     additional time on the BBS.
  4555.  
  4556.     USING THE "CONFIG" UTILITY TO CONFIGURE RBBS-PC                   Page 10-1
  4557.  
  4558.     10. USING THE "CONFIG" UTILITY TO CONFIGURE RBBS-PC
  4559.     ---------------------------------------------------
  4560.     The CONFIG program creates  and edits the RBBS?PC.DEF  files.  These  files
  4561.     contain configuration information for  each node of  RBBS-PC.  CONFIG  also
  4562.     edits  the  "sub-board"  configuration  files.    Lastly,  CONFIG  contains
  4563.     functions for  periodic maintenance,  such as create  and pack  MESSAGE and
  4564.     USER files, renumber messages, and modem firmware initialization.
  4565.  
  4566.     A sample RBBS-PC.DEF file  is supplied with RBBS-PC.  New  SysOps are urged
  4567.     to use this sample, as it will avoid many of the "first-time" setup errors.
  4568.     Once you are comfortable with your RBBS-PC, CONFIG will allow you  to shape
  4569.     your BBS as you desire. 
  4570.  
  4571.     CONFIG is divided into many screens.  They are:
  4572.  
  4573.          Screen         Description
  4574.          1    Global RBBS-PC Parameters (Part 1 of 3)
  4575.          2    Global RBBS-PC Parameters (Part 2 of 3)
  4576.          3    Global RBBS-PC Parameters (Part 3 of 3)
  4577.          4    RBBS-PC System Files (part 1)
  4578.          5    RBBS-PC System Files (part 2)
  4579.          6    Parameters for RBBS-PC "doors"
  4580.          7    Parameters for RBBS-PC Security (part 1)
  4581.          8    Parameters for RBBS-PC Security (part 2)
  4582.          9    Parameters for Multiple RBBS-PC's and "conferences"
  4583.          10   RBBS-PC Utilities
  4584.          11   Parameters for RBBS-PC's File Management System
  4585.          12   RBBS-PC Communications Parameters (part 1)
  4586.          13   RBBS-PC Communications Parameters (part 2)
  4587.          14   RBBS-PC Net Mail
  4588.          15   New users parameters
  4589.          16   Use of the Library Sub-System
  4590.          17   RBBS-PC Color parameters
  4591.          18   Reserved for future use
  4592.  
  4593.     You may scroll  forward or backward through  the screens by using  the PgUp
  4594.     and PgDn keys  on the keyboard.   Additionally,  you may go  directly to  a
  4595.     specific screen by pressing a function key (F1  through F10) or SHIFT and a
  4596.     function key (shift/F1  through Shift F7)  corresponding to the page  to be
  4597.     selected.  To terminate CONFIG, press the "End" key on the keyboard.
  4598.  
  4599.     CONFIG can be invoked with the command:
  4600.  
  4601.          CONFIG  <config file>
  4602.  
  4603.     The <config  file> is  an optional  name of  the configuration  file to  be
  4604.     created  or edited.  If  no config file is specified,  CONFIG will edit the
  4605.     file RBBS-PC.DEF in  the current subdirectory.  Each  CONFIG parameter, and
  4606.     the default values are explained in the following sections.
  4607.  
  4608.     10.1 Global RBBS-PC Parameters (Part 1 of 3)
  4609.     --------------------------------------------
  4610.     Parameters 1 and 2                                                 TOM MACK
  4611.          The RBBS-PC system operator's (SysOp) first and last name.  Enter your
  4612.          REAL name here (the  name you wish your callers  to know you by).   NO
  4613.          ONE may log  in to your RBBS-PC  using this name, NOT  EVEN THE SYSOP!
  4614.          This is  a security  feature of RBBS-PC.   The  SysOp logs  on with  a
  4615.          "pseudonym" (see parameter 121).
  4616.  
  4617.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 10-2
  4618.  
  4619.     Parameter 3                                                          EXPERT
  4620.          Parameter 3 has nothing implemented.
  4621.  
  4622.     Parameter 4                                                    0800 to 2200
  4623.          The SysOp's "office hours",  or when a user can page the  SysOp.  If a
  4624.          caller attempts to page  you outside these hours, he will  be told you
  4625.          are  not available, and  RBBS-PC will suggest  that he try a  MSG or a
  4626.          COMMENT.  The times are set using a 24-hour military clock (i.e. 10:00
  4627.          P.M. is 2200 hours).  The SysOp can disable a caller's ability to page
  4628.          him COMPLETELY  by  pressing the  function  key F4  while  RBBS-PC  is
  4629.          running.  F4 toggles the SysOp page status off and on.
  4630.  
  4631.     Parameter 5                                                              NO
  4632.          Because the  bell on an attached printer is  often louder than the one
  4633.          built into the  PC, the  SysOp can  elect to have  the printer's  bell
  4634.          used, rather than "beeping" the PC's speaker.
  4635.  
  4636.     Parameter 6                                                             YES
  4637.          Should  RBBS-PC automatically  take itself  off-line if a  "disk full"
  4638.          condition occurs.   In  some instances,  such as  having a  small disk
  4639.          volume for uploads, you may want your RBBS-PC system to remain online,
  4640.          even though it is getting disk space full errors.
  4641.  
  4642.     Parameter 7                                                             OFF
  4643.          The default setting  for the "prompt bell".  The prompt bell refers to
  4644.          a preference  some callers  have of  getting a  short "beep"  from the
  4645.          system,  whenever it pauses for  input at a prompt.   When this is on,
  4646.          both the  remote user and  the local SysOp  will hear the  prompt bell
  4647.          when input  is required from  the remote user,  unless and until  this
  4648.          option is changed with the Toggle command on the Utility menu.
  4649.  
  4650.     Parameter 8                                                      72 MINUTES
  4651.          The maximum amount of time (in minutes) each user  is to be allowed on
  4652.          the system per session (the "session" refers to any individual call to
  4653.          the bulletin board).  This is the default time limit, which only takes
  4654.          effect if the PASSWRDS file does not override.  See section 15.3).
  4655.  
  4656.     Parameter 9                                                       0 MINUTES
  4657.          The default total amount  of time (in minutes) a caller  is allowed on
  4658.          RBBS-PC  per day.  This is  the default time  limit, which  only takes
  4659.          effect if the PASSWRDS file does not override.  See section 15.3).
  4660.  
  4661.     Parameter 10                                                              1
  4662.          This allows a SysOp to "reward" users who upload files by  adding time
  4663.          to the users session when they upload.  This number will be multiplied
  4664.          by the time spent in upload,  and credited to the user.   Setting this
  4665.          parameter  to 1 will  give back  the user as  much time  as they spent
  4666.          uploading, so their  session time  will look  "frozen" during  upload.
  4667.          These time credits  are normally removed at  the end of a  day, unless
  4668.          the ratio you  set is greater than 1.   If so, CONFIG will  ask if you
  4669.          want  to  make the  time credits  "survive."   If  so, the  extra time
  4670.          granted the user  will be available indefinitely, instead  of only for
  4671.          the current day.
  4672.  
  4673.     Parameter 11                                                              1
  4674.          The number  of months  inactivity that must  elapse before  a user  is
  4675.          considered a candidate for deletion from the USERS file when the SysOp
  4676.          "rebuilds" it.
  4677.  
  4678.     USING THE "CONFIG" UTILITY TO CONFIGURE RBBS-PC                   Page 10-3
  4679.  
  4680.     Parameter 12                                                        RBBS-PC
  4681.          Allows the  SysOp to specify  the name  of the RBBS-PC  that is to  be
  4682.          displayed when  a user  first connects  with the  system and prior  to
  4683.          completing the logon process.
  4684.  
  4685.     Parameter 13-15                                        FG=7, BG=0, BORDER=0
  4686.          Allow the SysOp to specify the colors desired for the console display.
  4687.          Foreground,  Background,  and  Border  may be  set.    When specifying
  4688.          colors, use the following:
  4689.  
  4690.               0 = Black      4 = Red
  4691.               1 = Blue       5 = Magenta
  4692.               2 = Green      6 = Brown
  4693.               3 = Cyan       7 = White
  4694.  
  4695.          Add 8 to any number to set high intensity.  Add 16 to turn blink on.
  4696.  
  4697.     Parameter 16                                                             NO
  4698.          If  the RBBS-PC  computer can  support  ANSI, RBBS-PC  will send  ANSI
  4699.          control sequences to display color and position the cursor.  The local
  4700.          display does NOT have to support ANSI  in order for callers to receive
  4701.          ANSI commands, although it does make the "snoop" function readable.
  4702.  
  4703.     Parameter 17                                                            123
  4704.          The  decimal  value  (0 to  255)  of  the character  used  to identify
  4705.          "SmartText" codes.  This should ALWAYS be set to 123.  See section 7.9
  4706.          for a detailed discussion of SmartText.
  4707.  
  4708.     Parameter 18                                                   AUTOPAGE.DEF
  4709.          The file name that contains the information to control the "automatic"
  4710.          RBBS-PC  paging  of the  SysOp.    See  section  7.11 for  a  detailed
  4711.          description of the AutoPage feature.
  4712.  
  4713.     Parameter 19                                                      OLD & NEW
  4714.          The level  of  detail to  use  when notifying  callers  of  electronic
  4715.          messages.  This can be set to  (A)ll (old and new mail notifications),
  4716.          (N)ew mail only, or (S)kip (no notification).  See section 18 to get a
  4717.          better  understanding  of   the  full  flexibility  of   mail  waiting
  4718.          notification that has been built into RBBS-PC.
  4719.  
  4720.     Parameter 20                                                              2
  4721.          RBBS-PC will try to determine whether the remote caller supports  ANSI
  4722.          screen commands by sending an ansi  request and waiting for a reply.  
  4723.          This parameter  sets the number  of seconds to  wait.    A value of  0
  4724.          disables the ANSI detect.   The  response is used to determine whether
  4725.          a graphics version of the PRELOG file is displayed.
  4726.  
  4727.     10.2 Global RBBS-PC Parameters (Part 2 of 3)
  4728.     --------------------------------------------
  4729.     Parameter 21                                                            YES
  4730.          Instructs  RBBS-PC to remind users  not only of  the messages that are
  4731.          for them, but also messages that they have left.  This is to encourage
  4732.          users to delete their old mail and help to keep the MESSAGES file to a
  4733.          minimum.
  4734.  
  4735.     Parameter 22                                                             NO
  4736.          Instructs RBBS-PC  to remind  users, when they  login, how  many files
  4737.          they have downloaded and uploaded.
  4738.  
  4739.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 10-4
  4740.  
  4741.     Parameter 23                                                             NO
  4742.          Reminds users  every time  they log  on of the  preferences they  have
  4743.          selected for such things  as file transfer protocol,  graphics, nulls,
  4744.          etc.
  4745.  
  4746.     Parameter 24                                                             NO
  4747.          Allows users to download files immediately upon logging on to RBBS-PC.
  4748.          Parameter 24 is only meaningful if the RBBS-PC File Management  System
  4749.          (FMS) has been enabled  via parameter 214.  RBBS-PC will  scan FMS for
  4750.          the newest uploads.  When a caller logs on, RBBS-PC will determine how
  4751.          many files are new since the  caller last logged on.  If parameter  24
  4752.          is YES, the  caller is offered the chance  to immediately review these
  4753.          new files  and download them, if the caller has sufficient security to
  4754.          download.  This happens before the bulletins or messages are reviewed.
  4755.          RBBS-PC's that  emphasize software  exchange may  want to enable  this
  4756.          option, others may  not want to give  the caller a chance  to download
  4757.          the new files until after bulletins and messages have been reviewed.
  4758.  
  4759.     Parameter 25                                                             23
  4760.          Allows the SysOp  to establish a default  page length for users   when
  4761.          they log on.  The valid range is 0 to 255.  If set to 0, the user will
  4762.          receive continuously scrolling output.
  4763.  
  4764.     Parameter 26                                                             19
  4765.          The maximum number (from 1 to 99) of lines allowed in each message.
  4766.  
  4767.     Parameter 27                                                            YES
  4768.          Allows the SysOp to make the system "welcome" file interruptible.  The
  4769.          default is that YES it is interruptible.  However, if the  SysOp feels
  4770.          too  many  people   are  bypassing  it   and  it  contains   essential
  4771.          information, the SysOp can set this parameter to NO (i.e. the user can
  4772.          not suspend or cancel the listing of this file at their  terminal with
  4773.          a CTRL-S  or CTRL-K).   If the  welcome file  has intricate  graphics,
  4774.          interrupting it may leave the caller's screen in an odd color.
  4775.  
  4776.     Parameter 28                                                            YES
  4777.          Allows the SysOp to indicate if  the system bulletins are optional for
  4778.          users when they log on.  If bulletins are optional, callers  can elect
  4779.          to automatically bypass old bulletins and be notified only when  there
  4780.          are new bulletins.   RBBS-PC will check the file date of the bulletins
  4781.          and  inform the caller which are  new, with the option  to read all of
  4782.          the new bulletins.   If none are new when bulletins  are optional, the
  4783.          bulletins will be automatically bypassed.  See section 7.13.
  4784.  
  4785.     Parameter 29                                                         IBM PC
  4786.          Tells  RBBS-PC how  to handle  non-standard systems.   The Compaq/Plus
  4787.          uses interrupt X'7F', which  is also used by  MultiLink.  RBBS-PC  may
  4788.          incorrectly detect MultiLink  on a  Compaq/Plus or  other system  that
  4789.          makes use of  interrupt X'7F', unless you select computer type 1.  The
  4790.          IBM  PCjr's non-standard  comm port  mapping  can be  overcome if  you
  4791.          select computer type 2.   Type 0 (IBM)  and 3 (other) are  treated the
  4792.          same.
  4793.  
  4794.     Parameter 30 - 34                                 (see CONFIG for defaults)
  4795.          The symbol used  to activate each online command can be changed.  This
  4796.          allows you great flexibility in how RBBS-PC interprets commands.   You
  4797.          can substitute  any keyboard character for each command.  To disable a
  4798.          command, enter a  single space for the  symbol.  One reason  to change
  4799.  
  4800.     USING THE "CONFIG" UTILITY TO CONFIGURE RBBS-PC                   Page 10-5
  4801.  
  4802.          commands  is for macros.   If you want to  write an RBBS-PC macro that
  4803.          acts  as a "front  end" for the  command, you should  first change the
  4804.          symbol of the command to an unused, "hidden" symbol.  Next, create the
  4805.          macro, naming it the same as the original key.   In the macro, you can
  4806.          activate the original function by using the new "hidden" symbol.
  4807.  
  4808.     Parameter 35                                                            YES
  4809.          Allows the section name to precede the command prompt.  The section is
  4810.          MAIN, FILE, LIBRARY, or UTIL, if  this option is selected.  Otherwise,
  4811.          the prompt will begin with YOUR.   Normally the section in the  prompt
  4812.          helps the caller remember where he is, but see section 7.5 for reasons
  4813.          to suppress the section.
  4814.  
  4815.     Parameter 36                                                            YES
  4816.          Suppresses the display of commands in the command prompt.  By default,
  4817.          RBBS-PC reminds  the caller  what commands are  available by  giving a
  4818.          sorted  list  of the  letters  used for  each  command in  the command
  4819.          prompt.  RBBS-PC shows only the commands available in the section that
  4820.          the caller is in.
  4821.  
  4822.     Parameter 37                                                             NO
  4823.          RBBS-PC will either restrict commands to those in the current section,
  4824.          or will  look in  ALL sections for  a valid  command that  matches the
  4825.          caller's request.  See section 7.4.
  4826.  
  4827.     Parameter 38                                                            YES
  4828.          Instructs RBBS-PC to use machine language subroutines (rather than the
  4829.          BASIC routines) for selected  functions.  RBBS-PC includes both  BASIC
  4830.          and  machine language  versions  of several  functions.   The  machine
  4831.          language version is much faster, but may cause problems with some non-
  4832.          standard systems.  Normally, you should activate the  machine language
  4833.          version, but if you encounter erratic behavior, especially in locating
  4834.          files on a machine that may not be 100%  IBM compatible, try using the
  4835.          BASIC subroutines.
  4836.  
  4837.     Parameter 39                                                             NO
  4838.          Instructs RBBS-PC to use the BASIC language's PRINT statement to write
  4839.          to  the screen  of the  PC that  RBBS-PC  is being  run on.   This  is
  4840.          sometimes  necessary  in  "hostile"  environments (i.e.  multitasking,
  4841.          special screen drivers, etc.) where the use of RBBS-PC's default  call
  4842.          to the RBBS-PC screen driver ANSI is not viable.
  4843.  
  4844.     Parameter 40                                                              2
  4845.          The  maximum number  of  additional lines  that  a caller  can use  to
  4846.          describe a file  that was  uploaded.   It applies to  both single  FMS
  4847.          directories  and non-FMS  directories.   NOTE: This number  counts the
  4848.          EXTENDED  description  lines.   RBBS-PC  always  allows  a single-line
  4849.          description.
  4850.  
  4851.     10.3 Global RBBS-PC Parameters (Part 3 of 3)
  4852.     --------------------------------------------
  4853.     Parameter 41                                                         (NAME)
  4854.          Determines how  callers are  to be identified  when they  log in.   By
  4855.          default,  RBBS-PC  uses the  NAME field  in  the USER  file.   You may
  4856.          specify the  starting offset of  the field,  and its  size.   WARNING:
  4857.          misuse of this parameter could DESTROY your USER file!
  4858.  
  4859.     Parameter 42                                                         <none>
  4860.  
  4861.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 10-6
  4862.  
  4863.          Allows an additional field to be used to distinguish callers with  the
  4864.          same ID  (see section 8).   Normally,  this item  is set  to 0,  which
  4865.          instructs RBBS-PC to not allow callers with identical IDs.
  4866.  
  4867.     Parameter 43                                                              1
  4868.          The  offset into the  USER record to  be used  to identify a  user for
  4869.          PERSONAL downloads.  By default, RBBS-PC uses position 1, which is the
  4870.          start of the caller's name.
  4871.  
  4872.     Parameter 44                                                             31
  4873.          The  length  of  the  field  used  to  identify  a user  for  PERSONAL
  4874.          downloads.   By  default, RBBS-PC  uses  31 (the  maximum length  of a
  4875.          user's name).   The  entries in the  personal download  directory must
  4876.          have exactly this many bytes at the end -- plus one (for the flag used
  4877.          to indicate if the file has been downloaded). 
  4878.  
  4879.     Parameter 45                                                     FIRST name
  4880.          The  prompt that  RBBS-PC should  use when asking  the caller  for the
  4881.          first ID field.  When prompting  for this input, RBBS-PC will  prepend
  4882.          "What is your" to the prompt.
  4883.  
  4884.     Parameter 46                                                      LAST name
  4885.          The prompt that should be used for the second ID field.
  4886.  
  4887.     Parameter 47                                                             NO
  4888.          Activates upload/download ratios.  See  section 15.3 for a  discussion
  4889.          of  the flexibility of  RBBS-PC ratios. NOTE: If  you elect to enforce
  4890.          ratios, fields in the USER record are used to store ratio information.
  4891.          See Appendix A for details.
  4892.  
  4893.     Parameter 48                                                             NO
  4894.          Activates automatic  security level reduction  via Subscription  date.
  4895.          See section 9 for a complete explanation of subscriptions.
  4896.  
  4897.     Parameter 49                                                              5
  4898.          The  security  level   to  which  callers  will  be   set  when  their
  4899.          subscription expires  (see section  9).    A  default value  which can
  4900.          overridden for security levels in the PASSWRDS file.
  4901.  
  4902.     Parameter 50                                                             60
  4903.          The number of days that RBBS-PC  will send warnings BEFORE a  caller's
  4904.          subscription is to expire.  The  file RGXPIRE.HLP can be customized to
  4905.          inform the caller that  the subscription is about to expire,  and what
  4906.          to do.
  4907.  
  4908.     Parameter 51                                                            365
  4909.          The default number  of days in a  subscription period.  When  a caller
  4910.          logs in this many  days after their  subscription began, RBBS-PC  will
  4911.          notify  them of  the  expiration, display  the  file RGXPIRD.HLP,  and
  4912.          reduce their security to the level specified in parameter 49.
  4913.  
  4914.     Parameter 52                                                             NO
  4915.          Instructs  RBBS-PC  to  turn  off printer  logging  each  time RBBS-PC
  4916.          "recycles" at the  end of  a call.   Since printer  errors will  often
  4917.          "hang" a system  (especially if no printer is  present), this function
  4918.          can avoid errors caused by the SysOp accidentally activating RBBS-PC's
  4919.          printer log  function.   Of course,  if you  wish to  use the  printer
  4920.          logging feature, you must set this parameter to NO.
  4921.  
  4922.     USING THE "CONFIG" UTILITY TO CONFIGURE RBBS-PC                   Page 10-7
  4923.  
  4924.     Parameter 53                                                             NO
  4925.          Instructs RBBS-PC to play musical themes for auditory feedback on what
  4926.          is happening  on the BBS.   This can be important for  SysOps that are
  4927.          sight impaired.   These musical themes are "played" on  the speaker of
  4928.          the PC that is running RBBS-PC, but not transmitted to the caller.
  4929.  
  4930.          Song played                   Meaning to SysOp
  4931.          ---------------------------------------------------------
  4932.          "Consider Yourself"           User log-on
  4933.          "Walk Right In"               New User log-on
  4934.          "Dragnet Theme"               Security violation
  4935.          "Goodbye, Charlie"            User log-off
  4936.          "Taps"                        Caller denied access
  4937.          "Oom Pah Pah"                 User downloading file
  4938.          "Thanks for the Memories"     User uploading file
  4939.  
  4940.     Parameter 54                                                            128
  4941.          The buffer size used internally by RBBS-PC when displaying text  files
  4942.          such as menus, directories  of files, etc.  The size can range from 32
  4943.          to 4096  characters.  The bigger  the buffer, the fewer  disk accesses
  4944.          necessary to display the file and the faster the display will be.  The
  4945.          default of  128 is the  minimum recommended.   Increasing this  to 512
  4946.          will  increase  the   speed  of  text  displays.     However  in  some
  4947.          environments  where it  is important  to respond  quickly  to XON/XOFF
  4948.          control, this should be set to the minimum of 32.
  4949.  
  4950.     Parameter 55                                                           1024
  4951.          Sets the size  of RBBS-PC's internal  "stack."  The internal  stack is
  4952.          used by RBBS-PC to keep track of program flow.  The  recommended value
  4953.          is  2048.    If  you must  conserve  RAM  usage,  this  number can  be
  4954.          decreased, but  program errors such  as "Stack  overflow" and  "String
  4955.          Space Corrupt" could result.
  4956.  
  4957.     Parameter 56 is not implemented in RBBS-PC.
  4958.  
  4959.     Parameter 57                                                 CITY and STATE
  4960.          Specifies the prompt RBBS-PC  should use when requesting the  caller's
  4961.          city & state.  If you would like to record information other than city
  4962.          & state  in this  USER field (telephone  number, for  example), change
  4963.          this prompt accordingly.
  4964.  
  4965.     Parameter 58
  4966.          No value is specified for this parameter.
  4967.  
  4968.     Parameter 59                                                           1024
  4969.          Specifies the  buffer size  used during  INTERNAL protocol  transfers.
  4970.          This  is the amount  of data  stored before it  is written  to disk on
  4971.          upload, or the amount read from disk at a time on download.  The range
  4972.          is 128 to 8192 characters (1024 is recommended).
  4973.  
  4974.     Parameter 60                                                         <none>
  4975.          Specifies  that either  a Computalker  (B.G. MICRO,  P.O. Box  280298,
  4976.          Dallas, Texas 75228) or HEARSAY 1000 (HEARSAY Inc., 1825 74th  Street,
  4977.          Brooklyn, N.Y. 11204) speech board is being  used.  This is in support
  4978.          of the  sight impaired  SysOps.   These voice  synthesizers can  speak
  4979.          status messages that  are usually either written to  the CALLER log or
  4980.          printed to  the printer.  With  this, a sight-impaired  SysOp can hear
  4981.          what the caller on the BBS is doing.
  4982.  
  4983.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 10-8
  4984.  
  4985.     To support as many speech  boards as possible in the future, RBBS-PC uses a
  4986.     64 entry file  (RBBSTALK.DEF) to contain SysOp-definable fields.   The file
  4987.     is accessed randomly with fixed-length 32 byte records.  The last two bytes
  4988.     must contain CR/LF leaving 30 bytes available for the text.  The 64 records
  4989.     are predefined and used by RBBS-PC as follows:
  4990.  
  4991.          1 = LOGON USER MESSAGE
  4992.          2 = MAIN MENU PROMPT
  4993.          3 = FILES MENU PROMPT
  4994.          4 = UTILITY MENU PROMPT
  4995.          5 = DOOR MENU PROMPT
  4996.          6 = LIBRARY MENU PROMPT
  4997.          7 = LOGOFF MESSAGE
  4998.          8 = DOWNLOAD PROMPT
  4999.          9 = UPLOAD PROMPT
  5000.         10 = TIME REMAINING PROMPT
  5001.         11 = WELCOME BACK PROMPT
  5002.         12 = CONFERENCE MENU PROMPT
  5003.         13-64 available for future enhancements
  5004.  
  5005.     SmartText IS supported in the RBBSTALK.DEF records.
  5006.  
  5007.     The CompuTalker requires the use of COM2, so the modem used by RBBS-PC must
  5008.     NOT be connected to COM2.
  5009.  
  5010.     10.4 Parameters for RBBS-PC System Files (part 1)
  5011.     -------------------------------------------------
  5012.     Parameter 61                                                        \BULLET
  5013.          The path  and name  of the  text  file that  describes the  BULLETINS.
  5014.          RBBS-PC uses the path of this file to find ALL bulletin files.
  5015.  
  5016.     Parameter 62                                                              6
  5017.          Instructs  RBBS-PC to use "numbered"  bulletins, and tells RBBS-PC how
  5018.          many numbered bulletins to look for (see section 7.13).
  5019.  
  5020.     Parameter 63                                                         BULLET
  5021.          Specifies the PREFIX of the Bulletin files.  Ex: If the prefix is "B",
  5022.          and a user asks to  see bulletin INFO, RBBS-PC will look  for the file
  5023.          "BINFO" in  the same directory as the  file specified in parameter 61.
  5024.          Additionally, if the file "BINFO.MNU" is found, RBBS-PC  will activate
  5025.          the Sub-Menu  feature (see  section 7.7).   If the user  has specified
  5026.          graphics or color display, the files, RBBS-PC will also search for the
  5027.          files "BINFOG" and "BINFOC" (see section 6.3).
  5028.  
  5029.     Parameter 64                                                (default drive)
  5030.          Specifies the disk drive and  path on which RBBS-PC will  find on-line
  5031.          "help" files.
  5032.  
  5033.     Parameter 65                                                          HELP0
  5034.          Specifies  the prefix for  the last remaining  "old-style" help files.
  5035.          These  files are  supplied with  RBBS-PC,  and the  prefix is  "HELP."
  5036.          There is no reason to change this parameter.
  5037.  
  5038.     Parameter 66                                                            HLP
  5039.          Specifies the EXTENSION for the "new-style" help files.  A full set of
  5040.          online help is  provided with RBBS-PC.   There is no reason  to change
  5041.          this parameter, but  if you do, all .HLP  files must be renamed.   Any
  5042.          additional help files  you wish to create should  have this extension,
  5043.  
  5044.     USING THE "CONFIG" UTILITY TO CONFIGURE RBBS-PC                   Page 10-9
  5045.  
  5046.          and be  in the directory  specified in parameter  64.  If  so, RBBS-PC
  5047.          will treat your help files as if they were part of RBBS-PC, displaying
  5048.          them to callers when they are requested.
  5049.  
  5050.     Parameter 67                                                          UPCAT
  5051.          The help file shown to callers when RBBS-PC asks them to categorize an
  5052.          upload.  With FMS  directories (see section 12), a  caller can specify
  5053.          the category code  for their upload.   You need only specify  the base
  5054.          file name in this parameter.  RBBS-PC  will add the help file PATH (as
  5055.          specified  in  parameter  64)  and  the  EXTENSION  (as  specified  in
  5056.          parameter  66).   This  file  should  contain  a description  of  each
  5057.          category, so the uploaded can properly categorize the upload.
  5058.  
  5059.     Parameter 68                                                        NEWUSER
  5060.          The path and filename of the file new users see when they first log on
  5061.          and before they "register" themselves in RBBS-PC's USERS file.  A user
  5062.          sees it once and only once during his first session.
  5063.  
  5064.     Parameter 69                                                        WELCOME
  5065.          The path and filename of the file each user sees EVERY time AFTER they
  5066.          log on.
  5067.  
  5068.     Parameter 70                                                          MENU1
  5069.          The path and filename  of the SysOp command menu, shown  to callers in
  5070.          NOVICE mode who have access to SysOp commands.
  5071.  
  5072.     Parameter 71                                                          MENU2
  5073.          The path and filename of the MAIN section menu.
  5074.  
  5075.     Parameter 72                                                          MENU3
  5076.          The path and filename of the FILE section menu.
  5077.  
  5078.     Parameter 73                                                          MENU4
  5079.          The path and filename of the UTIL section menu.
  5080.  
  5081.     Parameter 74                                                       CONFENCE
  5082.          The path  and filename  of the Conference  description file.   RBBS-PC
  5083.          uses this file when a caller asks for  a list of your conferences, and
  5084.          also uses the file to validate a JOIN command.   In order for the JOIN
  5085.          to work, the conference name (seven characters or less) must appear IN
  5086.          CAPS, at the beginning of a line (preceding spaces are allowed).   The
  5087.          SysOp must  already have  pre-formatted the  messages and users  files
  5088.          associated with the conferences (see section 17.3).  RBBS-PC will look
  5089.          for conference MESSAGE  files in the path specified  in this parameter
  5090.          after searching where the main MESSAGE file is located.
  5091.  
  5092.     Parameter 75                                                          MENUA
  5093.          The  path  and  filename containing  the  list  of the  questionnaires
  5094.          callers can  answer on-line  (see section  19).   Before RBBS-PC  will
  5095.          allow  a  caller to  answer  a questionnaire,  it  will  look for  the
  5096.          questionnaire  name specified (seven characters  or less), IN CAPS, at
  5097.          the beginning of a line in this file (preceding spaces are allowed).
  5098.  
  5099.     Parameter 76                                                (default drive)
  5100.          The drive and path where the questionnaire files are located.
  5101.  
  5102.     Parameter 77                                                       MAIN.PUI
  5103.  
  5104.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                 Page 10-10
  5105.  
  5106.          The path and filename of the "Programmable User Interface" to be used.
  5107.          See  section 7.6  for a fuller  description of RBBS-PC's  PUI.  CONFIG
  5108.          will  add the  extension ".PUI"  to this  file.  If  this file  is not
  5109.          found, RBBS-PC uses the standard interface.
  5110.  
  5111.     Parameter 78                                                            YES
  5112.          Specifies  whether  RBBS-PC   should  insert  page-breaks  in   menus.
  5113.          Normally,  you will want  RBBS-PC to  insert page-breaks  when needed,
  5114.          unless  you  have written  "full-screen"  menus which  do  ANSI cursor
  5115.          positioning.   In  this case,  the lines  in the  menu  files may  not
  5116.          accurately reflect the lines used on the callers screen.
  5117.  
  5118.     Parameter 79                                                (default drive)
  5119.          The drive and path where RBBS-PC macros are stored.
  5120.  
  5121.     Parameter 80                                                         <none>
  5122.          The extension for RBBS-PC macro files (usually .MCR).  See section 7.8
  5123.          for a full description of RBBS-PC's macro capabilities.
  5124.  
  5125.     10.5 Parameters for RBBS-PC System Files (part 2)
  5126.     -------------------------------------------------
  5127.     Parameter 81                                                       TRASHCAN
  5128.          The path and  filename of the "illegal  name" file. This file  is used
  5129.          when a new  user signs on.  The new users first and last name are each
  5130.          individually  checked against the names  in this file, as well as  the
  5131.          entire name.
  5132.  
  5133.     The format of this file is as follows:
  5134.  
  5135.     <name>,
  5136.  
  5137.     An example of such a file would be:
  5138.  
  5139.     BITE,
  5140.     BYTE,
  5141.     PAPA DOC,
  5142.     DOCTOR,
  5143.     DEATH,
  5144.     GLADIATOR,
  5145.     KILLER,
  5146.     MAN,
  5147.     THE
  5148.  
  5149.     The  comma  is  optional  after  each  name.    However,  it  does  help in
  5150.     delineating exactly  what character  strings are  being searched   for  and
  5151.     compared against  (some text  editors may  add  extraneous and  non-visible
  5152.     characters to a line).  All names should be UPPER CASE!  If  the above file
  5153.     existed, any new  user who  logged and  used the following  names would  be
  5154.     denied access:
  5155.  
  5156.     Byte Killer
  5157.     Kilo Man
  5158.     Doctor Death
  5159.     PC Doctor
  5160.     Pappa Doctor
  5161.  
  5162.     but "Hoppa Pappa" would be fine.
  5163.  
  5164.     USING THE "CONFIG" UTILITY TO CONFIGURE RBBS-PC                  Page 10-11
  5165.  
  5166.     Parameter 82                                                         <none>
  5167.          The  path  and filename  of  the  "required" questionnaire.    RBBS-PC
  5168.          records  in  the  users  record  when the  required  questionnaire  is
  5169.          answered so that it will only  ask each caller once.  Both  first-time
  5170.          and old callers will be  required to answer this questionnaire.   When
  5171.          you install a new required questionnaire, use CONFIG parameter 186  to
  5172.          mark all user  records so they will  once again be required  to answer
  5173.          the questionnaire.  NOTE: Parameter 82  allows you to specify a  path.
  5174.          RBBS-PC will not automatically look in the path specified in parameter
  5175.          76.
  5176.  
  5177.     Parameter 83                                                         PRELOG
  5178.          The  path and  filename displayed  to callers  as  soon as  carrier is
  5179.          detected and BEFORE  a user can log  on.  It is  displayed immediately
  5180.          after the name  of the RBBS-PC  is shown (see  parameter 12).   SysOps
  5181.          should use this file to convey such information  as whether real names
  5182.          are required, 300 baud users will automatically be denied access, etc.
  5183.  
  5184.     Parameter 84                                                   RBBS-REG.DEF
  5185.          The  path and  filename  of the  optional  questionnaire RBBS-PC  will
  5186.          require new users to  answer on their first call.  See  section 19 for
  5187.          details on RBBS-PC questionnaires.
  5188.  
  5189.     Parameter 85                                                     EPILOG.DEF
  5190.          The path and  filename of the optional questionnaire  RBBS-PC will ask
  5191.          each caller when they log off each time from your RBBS-PC (see section
  5192.          19).
  5193.  
  5194.     Parameter 86                                                       MESSAGES
  5195.          The path and filename of the RBBS-PC message file.  This file contains
  5196.          all messages  entered by callers, as  well as configuration data.   If
  5197.          this file does not  exist when you run  CONFIG, CONFIG will ask if  it
  5198.          should create the file.
  5199.  
  5200.     NOTE: Read section 18 if  you want to include the main message  file in the
  5201.     scan for conference mail waiting.
  5202.  
  5203.     Parameter 87                                                          USERS
  5204.          The path and filename  of the RBBS-PC USER file.   This file is  where
  5205.          RBBS-PC keeps track of the name and profile for each caller.
  5206.  
  5207.     Parameter 88                                                       COMMENTS
  5208.          The path and  filename where RBBS-PC will store  comments that callers
  5209.          leave to the SysOp.  Even if comments are recorded as private messages
  5210.          (see parameter 89), you should specify a COMMENTS file, since  RBBS-PC
  5211.          will place comments  here if the MESSAGE  file is full.   RBBS-PC will
  5212.          automatically create the COMMENTS file when needed.
  5213.  
  5214.     Parameter 89                                                             NO
  5215.          Allows SysOps to have comments recorded as private messages to them in
  5216.          the main  messages file  providing there  is  any room.   This  allows
  5217.          replies to comments to be done much more easily.
  5218.  
  5219.     Parameter 90                                                        CALLERS
  5220.          The  path and filename for RBBS-PC's  CALLER log.  RBBS-PC will create
  5221.          this  file, and  log the  date and  time of  each caller  to the  BBS.
  5222.          Information such  as uploads  and downloads,  security violations  and
  5223.  
  5224.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                 Page 10-12
  5225.  
  5226.          communications parameters  are also  logged.   SysOp  function 2  will
  5227.          display this information.
  5228.  
  5229.     Parameter 91                                                             NO
  5230.          Specifies that RBBS-PC should log the following additional information
  5231.          in the callers log:
  5232.  
  5233.          1) Connect not completed           9) Left comment at time
  5234.          2) Sleep disconnect                10) Logged off at time
  5235.          3) Caller changed name/address     11) Carrier dropped at time
  5236.          4) Newuser                         12) Message # xxxx left at
  5237.          5) Bulletin x read                 13) Read Messages ...
  5238.          6) SysOp initiated Chat            14) Answered questionnaire xxx
  5239.          7) Entered Conference/Sub-board x  15) Killed msg # xxxx
  5240.          8) Time limit exceeded
  5241.  
  5242.     NOTE: Each CALLER log entry uses 66 bytes of disk storage.  Using parameter
  5243.     91 can provide useful information, but you  should monitor the size of your
  5244.     CALLER log so it does not consume your entire disk!
  5245.  
  5246.     Parameter 92 has not been implemented in RBBS-PC.
  5247.  
  5248.     Parameter 93                                                   CONFMAIL.DEF
  5249.          The path  and filename for the  conference mail-scan file.   This file
  5250.          tells RBBS-PC which conferences should be checked when a caller  wants
  5251.          to scan for new mail.  The format of this file and the flexibility  it
  5252.          affords the RBBS-PC SysOp is described more fully in section 18.
  5253.  
  5254.     Parameter 94                                                             30
  5255.          The maximum number of  "working variables" that RBBS-PC  allocates for
  5256.          questionnaires and macros.  A "working  variable" is simply a place in
  5257.          which RBBS-PC  can store  a response or  a set  of characters.   These
  5258.          "working variables" can then be used to create parameters  that can be
  5259.          passed to "DOOR"s (see section 14.3) or written out to data bases (see
  5260.          section 7.8.4).
  5261.  
  5262.     Parameter 95                                                    CALLLST.DEF
  5263.          List of  callers  files that  can be  viewed using  SysOp function  2,
  5264.          recent  callers  option.     On  each  line,  the  first  word is  the
  5265.          drive/path/name,  followed by a description of  what they callers file
  5266.          is for.    For  example, if  there are two  nodes, with callers  files
  5267.          CALLERS stored in  C:\RBBS\NODE1 and C:\RBBS\NODE2 respectively,  then
  5268.          the file would be
  5269.  
  5270.               C:\RBBS\NODE1\CALLERS Node 1
  5271.               C:\RBBS\NODE2\CALLERS Node 2
  5272.  
  5273.     Parameter 96                                                              8
  5274.          The copyright notice with RBBS-PC is displayed only on node 1.    This
  5275.          parameter sets the  number of seconds to display the notice.   A value
  5276.          of 0 disables the display.
  5277.  
  5278.     Parameter 97                                                             NO
  5279.          Disables message "quoting" during  reply.  When this option is  set to
  5280.          "YES", the  caller will not  be asked whether to  include the original
  5281.          message when creating a reply.
  5282.  
  5283.     USING THE "CONFIG" UTILITY TO CONFIGURE RBBS-PC                  Page 10-13
  5284.  
  5285.     10.6 Parameters for RBBS-PC "Doors"
  5286.     -----------------------------------
  5287.     Parameter 101                                                            NO
  5288.          Activates  the  DOOR  function.    See  section  14  for  a   complete
  5289.          description of the RBBS-PC door subsystem.
  5290.  
  5291.     Parameter 102                                                         MENU5
  5292.          The path and filename of the DOOR menu, which RBBS-PC will show to the
  5293.          caller when a list of doors is requested.  Before RBBS-PC will allow a
  5294.          caller to open a door, it will look for the door name specified (seven
  5295.          characters or less),  IN CAPS, at the beginning of a line in this file
  5296.          (preceding spaces are allowed).
  5297.  
  5298.     Parameter 103                                                     RCTTY.BAT
  5299.          The path  and filename  of the  .BAT file  RBBS-PC should  create when
  5300.          building  a "door" exit.   The  batch file  that invokes  RBBS-PC must
  5301.          check  if this  file exists  whenever  RBBS-PC terminates  and (if  it
  5302.          exists) execute it (see section 13).  This is also the same  file name
  5303.          that is used when the SysOp exits to DOS.
  5304.  
  5305.     Parameter 104                                                      RBBS.BAT
  5306.          The path and filename of the .BAT file used to start RBBS-PC.  This is
  5307.          used to re-invoke RBBS-PC after a door (see section 13).  This is also
  5308.          the same file name that is used when the SysOp returns from exiting to
  5309.          DOS.
  5310.  
  5311.     Parameter 105                                                           C:\
  5312.          The DOS subdirectory where RBBS-PC can find the DOS command  processor
  5313.          (COMMAND.COM).   This is also  the location for  the .BAT files  which
  5314.          test and convert compressed uploads.
  5315.  
  5316.     Parameter 106                                                           YES
  5317.          The method used to redirect I/O when dropping to DOS as a remote SysOp
  5318.          (command "7").  Answering YES selects the standard DOS "Change Console
  5319.          Command" (CTTY), NO selects  the DOS redirect  function (">" or  "<").
  5320.          This parameter allows you to specify if the redirected output is to be
  5321.          handled by a  SysOp-supplied device driver.  If you don't elect to use
  5322.          a special device driver, RBBS-PC will redirect the output directly  to
  5323.          the communications port by building the command "CTTY COMx" or  ">COMx
  5324.          and <COMx" ,  where "x" is based  on the communications port  the node
  5325.          was configured  for.   If you  specify the  name of  a device  driver,
  5326.          RBBS-PC will build the command CTTY [driver name].
  5327.  
  5328.     Parameter 107                                                        <none>
  5329.          The path and filename of a program (i.e. an .EXE or .COM file) that is
  5330.          to  run when a new user  logs on.  This  feature is intended for those
  5331.          who feel the need  to perform an extensive  verification of new  users
  5332.          that is  not  met  by  RBBS-PC's  built  in  scripting  capability  or
  5333.          automatic subscription functions.
  5334.  
  5335.     Parameter 108                                                             0
  5336.          Allows the external program designated via parameter 107 to be invoked
  5337.          for not only new users, but also for callers who have a security level
  5338.          equal to or less than the security level specified in parameter 108.
  5339.  
  5340.     Parameter 109                                                     DOORS.DEF
  5341.          The path and filename  of the "DOORS" control file.   See section 14.3
  5342.          for more information.
  5343.  
  5344.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                 Page 10-14
  5345.  
  5346.     10.7 Parameters for RBBS-PC's Security (part 1)
  5347.     -----------------------------------------------
  5348.     Parameter 121                                                   SECRET NAME
  5349.          The first and last name of the SysOp pseudonym.   It is this name that
  5350.          causes  RBBS-PC to recognize  the remote caller  as the  SysOp and not
  5351.          simply a user with  a security level equal to that of the SysOp.  This
  5352.          should be a first and last  name combination that is not likely  to be
  5353.          selected by other  callers.  The name  supplied in parameters 1  and 2
  5354.          cannot be used  by ANYONE to  log on.   If the SysOp  wants to log  on
  5355.          remotely, the name in parameter 121 must be used.
  5356.  
  5357.     Parameter 122                                                            NO
  5358.          If YES, specifies that a LOCAL logon (via the ESC key) should logon as
  5359.          the SysOp automatically.   NO will prompt for  a name before  allowing
  5360.          anyone to log on locally.
  5361.  
  5362.     Parameter  123                                                            0
  5363.          The  minimum security level users  need in order  to log onto RBBS-PC.
  5364.          Callers with a security level less  than this number will be given  an
  5365.          "ACCESS DENIED" message and immediately disconnected.
  5366.  
  5367.     Parameter 124                                                             5
  5368.          The security  level assigned to new users.   If this security level is
  5369.          less than the minimum security level  to log on, no new users can  log
  5370.          on.  This means  that no new users  are allowed and access  is limited
  5371.          only to pre-registered users.
  5372.  
  5373.     Parameter 125                                                            10
  5374.          The minimum security level a user must have in order to  be considered
  5375.          a SysOp.  Even if a user  has a high enough security level to  see the
  5376.          SysOp menu  and execute some  or all of  the SysOp commands,  the user
  5377.          will  not  be  treated as  a  SysOp  (i.e. allowed  to  see  the files
  5378.          upload/download  when  viewing  the  CALLERS  file) unless  the  users
  5379.          security level  is equal  to or greater  than that  specified by  this
  5380.          parameter.
  5381.  
  5382.     Parameter 126                                                            10
  5383.          The minimum security level required to see the SysOp menu.   This does
  5384.          not  give a user SysOp access,  it only allows him  to see the menu of
  5385.          SysOp commands.
  5386.  
  5387.     Parameter 127                                                            10
  5388.          The minimum security level a user must have to leave an extended (i.e.
  5389.          multiple line) description of a file that was uploaded.  See parameter
  5390.          40 for the  maximum number of lines that  an extended description will
  5391.          be allowed to have.
  5392.  
  5393.     Parameter 128                                                             5
  5394.          The  maximum number of security violations  (i.e. attempts to download
  5395.          protected files) before the user is logged off and locked out.
  5396.  
  5397.     Parameter 129                                                            10
  5398.          The minimum security  level to access each SysOp function.   These may
  5399.          all be  set to the  same level, or  each command can have  a different
  5400.          minimum security level.
  5401.  
  5402.     Parameter 130                                                    <variable>
  5403.  
  5404.     USING THE "CONFIG" UTILITY TO CONFIGURE RBBS-PC                  Page 10-15
  5405.  
  5406.          The minimum security level to access the MAIN commands.  These may all
  5407.          be set to the same level, or each command can have a different minimum
  5408.          security level.
  5409.  
  5410.     Parameter 131                                                    <variable>
  5411.          The minimum security level to access the FILE commands.  These may all
  5412.          be set to the same level, or each command can have a different minimum
  5413.          security level.
  5414.  
  5415.     Parameter 132                                                             5
  5416.          The minimum security level to access the UTILITY commands.   These may
  5417.          all be set  to the same  level, or each command  can have a  different
  5418.          minimum security level.
  5419.  
  5420.     Parameter 133                                                    <variable>
  5421.          The minimum security level to  access the GLOBAL commands.  These  may
  5422.          all be  set to the  same level, or each  command can have  a different
  5423.          minimum security level.
  5424.  
  5425.     Parameter 134                                                             3
  5426.          The maximum number  of times  a user  can change their  password in  a
  5427.          given session.   This  prevents a  caller from  "fishing" for  special
  5428.          passwords.
  5429.  
  5430.     Parameter 135                                                             5
  5431.          The  minimum security  level required  in  order for  users to  access
  5432.          privileged group passwords.  If the user's security  is less than this
  5433.          level, ALL  password changes that they make  will be permanent -- even
  5434.          if the password they select is in the temporary password file named in
  5435.          parameter 146.
  5436.  
  5437.     Parameter 136                                                            10
  5438.          The minimum security level  required to overwrite  on uploads.   Users
  5439.          with this  security level  can REPLACE EXISTING  FILES by  uploading a
  5440.          file with the same name.
  5441.  
  5442.     Parameter 137                                                            10
  5443.          The minimum  security level  "exempt" from  packing.   When the  SysOp
  5444.          packs the user file, callers with this security level or  greater will
  5445.          NOT be removed from the user file, even if they have not called in the
  5446.          number of months specified in parameter 11.
  5447.  
  5448.     Parameter 138                                                             5
  5449.          The  default security level of new  PRIVATE messages.  Only those with
  5450.          this security level or higher can read new private messages -- even if
  5451.          they have been  addressed to them.  This allows the SysOp to "preview"
  5452.          messages, and then lower  the security level of  each message so  that
  5453.          the addressee can read it.
  5454.  
  5455.     Parameter 139                                                             5
  5456.          The  default security level of  new PUBLIC messages.   Only those with
  5457.          this security level  or higher can read new public messages -- even if
  5458.          they have been addressed to them.  This allows the SysOp  to "preview"
  5459.          messages, and then  lower the security level  of each message so  that
  5460.          every user can read it.
  5461.  
  5462.     Parameter 140                                                            10
  5463.  
  5464.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                 Page 10-16
  5465.  
  5466.          The minimum security level required to change the security level of  a
  5467.          message.
  5468.  
  5469.     10.8 Parameters for RBBS-PC's Security (part 2)
  5470.     -----------------------------------------------
  5471.     Parameter 141 is not implemented in RBBS-PC.
  5472.  
  5473.     Parameter 142                                                 <default dir>
  5474.          The drive and path where the "personal"  files are located.  If a file
  5475.          listed in the  directory is not found  here, the download drives  will
  5476.          then be searched, so it is not necessary to have a copy of a file here
  5477.          in order to use personal downloads.  However, files in this  directory
  5478.          can be protected so that ONLY personal download will access the files.
  5479.  
  5480.     Parameter 143                                                      PRIV.DEF
  5481.          The name of the "personal  directory."  If no extension is  specified,
  5482.          ".DEF" will be used.  If not  path is specified, the path in parameter
  5483.          142 will be used.
  5484.  
  5485.     Parameter 144                                                        <none>
  5486.          The default protocol to  be used when downloading personal files.   If
  5487.          no protocol is specified, the "P" command behaves exactly  the same as
  5488.          the D)ownload command.   If a protocol  is specified, it will  be used
  5489.          unless overridden by the command line (i.e. "P file.ext Z").
  5490.  
  5491.     Parameter 145                                                       FILESEC
  5492.          The path and filename  of the "file security" list.   See section 15.4
  5493.          for more information.
  5494.  
  5495.     Parameter 146                                                      PASSWRDS
  5496.          The path  and filename which  contains the privileged  group passwords
  5497.          and security-level limits.  See section 15.3.
  5498.  
  5499.     Parameter 147                                                            NO
  5500.          Specifies that  multi-file personal  downloads using  ASCII should  be
  5501.          done "non-stop."  This is useful if  the SysOp wants users to download
  5502.          to a continuous feed printer.
  5503.  
  5504.     Parameter 148                                                            10
  5505.          The minimum security a user must have in order to "categorize" uploads
  5506.          when the SysOp is using the File Management System (FMS).   Uploads by
  5507.          callers with insufficient security to categorize will be placed in the
  5508.          default "upload" category.
  5509.  
  5510.     Parameter 149                                                             5
  5511.          The minimum  security to view NEW  uploads.  RBBS-PC  will omit either
  5512.          ALL  files  in the  "upload" directory,  or  only those  files  in the
  5513.          "upload"  category  (if  the  upload  directory   is  the  master  FMS
  5514.          directory).
  5515.  
  5516.     Parameter 150                                                             6
  5517.          The minimum security  to bypass the "epilog"  questionnaire, specified
  5518.          in parameter 85.
  5519.  
  5520.     Parameter 151                                                             5
  5521.          The minimum security  level required to automatically add  a user to a
  5522.          conference.    This  parameter  is  only  active  when  CONFIG  is  in
  5523.          "conference maintenance" mode (see parameter 167).  If a caller  tries
  5524.  
  5525.     USING THE "CONFIG" UTILITY TO CONFIGURE RBBS-PC                  Page 10-17
  5526.  
  5527.          to  join a  conference, they  will  be denied  access unless  they are
  5528.          already a member, or their security is  at or above this level.   Each
  5529.          conference may  have a  different setting for  this parameter.   NOTE:
  5530.          Sub-boards  do  NOT  use  this  feature.   To  restrict  access  to  a
  5531.          Sub-board, use parameter 123.
  5532.  
  5533.     Parameter 152                                                             6
  5534.          The  minimum security  level for  a  caller to  "turbo  logon".   This
  5535.          feature allows a caller to go DIRECTLY to the main menu, bypassing the
  5536.          welcome, new upload and bulletin displays.   To use "Turbo logon", the
  5537.          user must answer the "What is your FIRST name" prompt with:
  5538.  
  5539.               firstname lastname password ![conference]
  5540.  
  5541.          The "!" after  the password signals  RBBS-PC to use  "turbo."  If  the
  5542.          conference name  is  omitted, the  caller  will be  left in  the  MAIN
  5543.          conference.   If the  caller substitutes a  "$" for the  "!", only the
  5544.          WELCOME  will be bypassed.  This is helpful for systems with extensive
  5545.          ANSI welcome screens that can be tedious for old callers.
  5546.  
  5547.     Parameter 153                                                            10
  5548.          The minimum security  required by a caller to add a description for an
  5549.          existing file.   Typically this is restricted  to the SysOp only.   It
  5550.          can be used by the SysOp to create FMS directories.  After placing the
  5551.          files in the upload  subdirectory (or anywhere  in the download  path)
  5552.          the SysOp can use RBBS-PC to add descriptions for the files.   RBBS-PC
  5553.          will  first ask if you wish to OVERWRITE  the file.  If you answer NO,
  5554.          RBBS-PC will then ask if you wish to  add a description.  In this way,
  5555.          RBBS-PC will properly build the directory entry.
  5556.  
  5557.     Parameter 154                                                    SECVIO.HLP
  5558.          The  name of  the help  file that  is shown  to a caller  whenever the
  5559.          caller  incurs  a security  violation.    RBBS-PC  will add  the  HELP
  5560.          directory and EXTENSION (from parameters 64 and 66).
  5561.  
  5562.     Parameter 155                                                        <none>
  5563.          Denies callers access to one or both of RBBS-PC's "premium features --
  5564.          DOORS and  file downloading, for a specific period  of time.  This can
  5565.          be used to direct the callers' attentions to other features of RBBS-PC
  5566.          (such  as  message bases).    The  PASSWRDS  file (see  section  15.3)
  5567.          specifies how  many  SECONDS the  caller  must be  online  before  the
  5568.          premium features are  available.  If  a caller tries  to use a  locked
  5569.          feature  before  the time  has  elapsed, the  caller will  be  given a
  5570.          message  and denied  access.   This  is *NOT*  recorded as  a security
  5571.          violation.  
  5572.  
  5573.     The  file TIMELOCK.HLP should be placed with  the other RBBS-PC HELP files.
  5574.     This file  (if found)  will be  shown to  a user  who  is locked  out of  a
  5575.     command.   If the TIMELOCK.HLP  file is not  available, the caller  will be
  5576.     given a "canned" message:  "Sorry, (name), try that function later."
  5577.  
  5578.     Parameter 156                                                            10
  5579.          The minimum security to be exempt from automatic security updates.  If
  5580.          the caller's MAIN  security level is changed, their  security level in
  5581.          conferences will also  be changed if their security  in the conference
  5582.          is less  than this  setting.  This  allows the  SysOp to  adjust their
  5583.          security in the MAIN conference, and RBBS-PC will make the adjustments
  5584.          in  each conference and sub-board.  If  the SysOp increases a caller's
  5585.  
  5586.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                 Page 10-18
  5587.  
  5588.          security  in a conference  (to make them  a "SIGOp"), the  caller will
  5589.          maintain this increased security only if it is above this setting.
  5590.  
  5591.     Parameter 157                                                            10
  5592.          The minimum security  a caller must have to  be able to read  and kill
  5593.          all messages (in  the message  base for  which this is  a .DEF  file).
  5594.          This  allows the  SysOp to  create  an "assistant  MESSAGE SysOp",  or
  5595.          "SIGOp"  who can police  message traffic,  without granting  that user
  5596.          full SysOp privileges.
  5597.  
  5598.     Parameter 158                                                      SEEN-BY:
  5599.          Specifies a text string that, if found at the start of a message line,
  5600.          will NOT  be shown  to  the caller.   This  can be  used  to hide  the
  5601.          sometimes enormous network routing data found in network mail.
  5602.  
  5603.     Parameter 159                                                            10
  5604.          Minimum security to  do personal uploads.    Personal uploads  are the
  5605.          file equivalent of personal mail, where the upload addresses the  file
  5606.          to a particular  person.   The  personal upload description  goes into
  5607.          the  personal directory  and is  viewable only  by the  SysOp and  the
  5608.          person the file is addressed to.   The uploader has the option to send
  5609.          the  file to multiple people and  to use a distribution list installed
  5610.          by the SysOp.
  5611.  
  5612.     Parameter 160                                                            NO
  5613.          Whether to let messages have multiple recipients.   NO means  that the
  5614.          message can be  addressed only the  one person, which  is the way  all
  5615.          RBBS-PC message bases were prior to version 17.4.   YES means that the
  5616.          person leaving  a message will be asked if the message is to be carbon
  5617.          copied to  another person.   Up  to 255 names can be  specified, and a
  5618.          distribution list installed  by the SysOp can be  used as well.    One
  5619.          copy of the message is kept with multiple headers.  WARNING:  external
  5620.          utilities  that read and write RBBS-PC  message bases may be unable to
  5621.          deal with multiple headers.
  5622.  
  5623.     10.9 Parameters for Multiple RBBS-PC's/Conferences
  5624.     --------------------------------------------------
  5625.     Parameter 161                                                             1
  5626.          The maximum number of RBBS-PC nodes.  Up to 36 RBBS-PC's can share the
  5627.          same  files.  Different environments have  different maximum number of
  5628.          nodes that  they  can effectively  support.   Setting  this  parameter
  5629.          configures the MESSAGE files so they contain the appropriate number of
  5630.          "node" records.
  5631.  
  5632.     Parameter 162                                                           DOS
  5633.          The environment that multiple copies of RBBS-PC will be sharing  files
  5634.          in.  This is  necessary so that RBBS-PC can use the  mechanism that is
  5635.          appropriate to the specific  environment when sharing files.   RBBS-PC
  5636.          currently  can  handle   the  following   environments  for   multiple
  5637.          RBBS-PC's:
  5638.  
  5639.               0) Single node under DOS
  5640.               1) MultiLink (The Software Link, Inc.)
  5641.               2) OmniNet (Corvus)
  5642.               3) PC-Net (Orchid)
  5643.               4) DESQview (Quarterdeck Office Systems)
  5644.               5) 10 Net (Fox Research)
  5645.               6) IBM's NETBIOS
  5646.  
  5647.     USING THE "CONFIG" UTILITY TO CONFIGURE RBBS-PC                  Page 10-19
  5648.  
  5649.          NOTE:  Many manufacturers utilize Orchid's network conventions.  As an
  5650.          example, AST and Alloy are both vendor's whose "network" is .EXE file-
  5651.          compatible with Orchid's.   If you have a network of  PC's, check with
  5652.          the vendor to see how compatible their network is with those supported
  5653.          by RBBS-PC.
  5654.  
  5655.     Parameter 163                                                      INTERNAL
  5656.          Specifies the method RBBS-PC uses to  recycle after a call.   INTERNAL
  5657.          recycling is done within the RBBS-PC.EXE file.  SYSTEM recycling exits
  5658.          RBBS-PC, and expects the  invoking .BAT file to recycle.   Internal is
  5659.          faster, but System allows an external event to be processed after each
  5660.          caller.
  5661.  
  5662.     Parameter 164                                                             8
  5663.          The number of records in the USERS file.  This number must  be an even
  5664.          power of 2 (256, 512, 1024, 2048, etc.).  When the USER file is almost
  5665.          full, the  SysOp will  either  have to  "rebuild" the  user file  (see
  5666.          parameter 182) or increase this file size.  The SysOp can check on the
  5667.          freespace  in this  file with  the RBBS-PC "statistics"  command (UTIL
  5668.          section).  Parameter 291 lets new  users on even if the users  file is
  5669.          full.
  5670.  
  5671.     Parameter 165                                                            27
  5672.          Specifies the  default number of records  in the MESSAGES  file.  Each
  5673.          file is  128 bytes.   The number of messages  that can be  stored is a
  5674.          function of the number of lines allowed per message.  The minimum size
  5675.          of the MESSAGES file is equal to  1 (The "checkpoint" record) plus the
  5676.          maximum  number  of  concurrent RBBS-PC's  ("node"  records)  plus the
  5677.          maximum number of  messages allowed multiplied by 5  (each messages is
  5678.          assumed to average five 128-byte records)
  5679.  
  5680.     Parameter 166                                                             5
  5681.          The maximum number of messages allowed in  the message file at any one
  5682.          time.  The absolute  upper limit on the number  of messages  is   999.
  5683.          If you specify  250 messages, you can  expect that the MESSAGES   file
  5684.          will be formatted to more than 160K in size.  If you allow the message
  5685.          file to grow (parameter 170), only parameter 166 will limit the growth
  5686.          of the file.   If your message file does not grow,  both the number of
  5687.          messages, and  the number of records will  limit how many messages can
  5688.          be left.
  5689.  
  5690.     Parameter 167
  5691.          Enters "conference maintenance"  This allows you to set features or do
  5692.          maintenance on CONFERENCES  (not Sub-boards!).  You will  be asked for
  5693.          the conference name, which can be up  to 7 characters (CONFIG will add
  5694.          an "M" to the conference MESSAGE filename, and a  "U" to the USER file
  5695.          name).    While  in  conference   maintenance  mode,  you  can  create
  5696.          conference message and user files, perform maintenance on them, or set
  5697.          conference variables (see parameter 151.  To perform maintenance on  a
  5698.          Sub-board, you should start config with the sub-board .DEF file  (i.e.
  5699.          CONFIG MYSUBC.DEF).  If you change the size of a conference MESSAGE or
  5700.          USER file, the change will take place when you press the END key while
  5701.          in conference maintenance mode. 
  5702.  
  5703.     Parameter 168                                                           ZIP
  5704.          The default file  extension for uploads and  downloads.  If a  file is
  5705.          UPLOADED, and  the user  does not specify  an extension,  this default
  5706.          will  be  used.   If  a  file  DOWNLOAD request  does  not  specify an
  5707.  
  5708.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                 Page 10-20
  5709.  
  5710.          extension, the default will be used.  In order to upload files with NO
  5711.          extension, a "." must follow the name (i.e. U MYFILE. Z).
  5712.  
  5713.     Parameter 169                                                        <none>
  5714.          Additional file extensions in addition to the default, to search  when
  5715.          looking  for an uploaded file, to decide  if it is already present.  A
  5716.          file  will be considered already in the catalog if the prefix matches.
  5717.          Warning:  this  search can be time consuming unless you have installed
  5718.          the Fast  File Search.   Every  extension listed  should begin  with a
  5719.          period.    E.g. ".ARC.PAK"  would  count  an upload  of  XYZ.ZIP  as a
  5720.          duplicate if the file XYZ.PAK or XYZ.ARC exists.
  5721.  
  5722.     Parameter 170                                                            NO
  5723.          Allows the  MESSAGE files to "grow."  If  the limit on active messages
  5724.          (parameter 166) has  not been exceeded, and the number  of records has
  5725.          been exhausted, RBBS-PC will increase the size of  the message file to
  5726.          accommodate more messages.  NOTE: The Corvus Network software does not
  5727.          allow a message file to grow.
  5728.  
  5729.     Parameter 171                                                        DISTRI
  5730.          Name of the  file storing a list  or menu of  distribution lists.    A
  5731.          distribution list can be used as the answer to the question of who the
  5732.          message is to, if parameter 160 is set to enable carbon copy.
  5733.  
  5734.     Parameter 172
  5735.          Drive/path where distribution lists are stored.   A distribution  list
  5736.          must  have the extension  ".LST".    For  example, the  file BOARD.LST
  5737.          would be  invoked by selected D)istribution, then  "BOARD".   The file
  5738.          should have each name on a line, as in
  5739.  
  5740.               SAM SPADE
  5741.               SMART MONEY
  5742.               JOHN DOE
  5743.  
  5744.     Parameter 173                                                           URP
  5745.          Message protection allowed.   Individually specified for  each message
  5746.          base.    Can  elect to  have any  combination of  public, private,  or
  5747.          password protected, so long as at least one is picked.   Default is to
  5748.          allow all three.
  5749.  
  5750.     10.10 RBBS-PC SysOp Utilities
  5751.     -----------------------------
  5752.     Parameter 181
  5753.          Packs the  message base.  When a message is  "killed,"  the space used
  5754.          by  that  message   is  not  freed  (this  allows   a  message  to  be
  5755.          "resurrected).  Parameter 181 makes a backup of the message file, then
  5756.          reclaims the space used by killed messages.
  5757.  
  5758.     Parameter 182
  5759.          Removes deleted users and users who have not been on the system within
  5760.          the number  of months  specified in  parameter  16.   You should  have
  5761.          enough free  disk space for  a second copy  of the users  file (with a
  5762.          qualifier of ".BAK") or the rebuilding will  terminate abnormally (the
  5763.          users file will  be restored).  NOTE: Locked-out  users (security less
  5764.          than 0) will not be removed from the file.
  5765.  
  5766.     Parameter 183
  5767.  
  5768.     USING THE "CONFIG" UTILITY TO CONFIGURE RBBS-PC                  Page 10-21
  5769.  
  5770.          Displays the message headers of all messages, active and killed,  that
  5771.          are present  in the message file.   This is left over from  one of the
  5772.          many "debugging"  stages of  RBBS-PC prior  to CPC09.   Following  the
  5773.          policy of  making  all  changes  "additive", this  function  has  been
  5774.          retained.   It  may  help  some  SysOps  recover  from  disk  hardware
  5775.          failures.
  5776.  
  5777.     Parameter 184
  5778.          Renumbers messages.   An RBBS-PC message number cannot  be higher than
  5779.          9999.   This function  will renumber  the  active messages,  utilizing
  5780.          numbers once  used by  deleted messages.   Also,  each caller's  high-
  5781.          message pointer will be updated to reflect the renumbered message.
  5782.  
  5783.     Parameter 185
  5784.          Scans  the message  file and  reconstructs  the chains  that link  the
  5785.          messages  together.   Message  files  that  have "blank"  messages  or
  5786.          abbreviated messages  (i.e. some  lines of  text are  missing) can  be
  5787.          repaired with this facility.
  5788.  
  5789.     Parameter 186
  5790.          Sets a flag in  all USER records that will require the  user to answer
  5791.          the required questionnaire (see parameter 82).
  5792.  
  5793.     Parameter 187
  5794.          Scans the FMS directory to be  sure each record conforms to the  exact
  5795.          format required by the FMS (in case the text editor used by the  SysOp
  5796.          to  edit the file  inserted tabs  or shorten  lines that  had trailing
  5797.          blanks at the end of them).
  5798.  
  5799.     Parameter 188
  5800.          Scans the PERSONAL download directory to  be sure the format is proper
  5801.          for a PRIV.DEF file.
  5802.  
  5803.     Parameter 189
  5804.          This parameter will guide the SysOp, sequentially,  through only those
  5805.          parameters that would normally  have to be changed  when setting up  a
  5806.          new RBBS-PC.
  5807.  
  5808.     Parameter 190
  5809.          This  parameter  will  guide  the  SysOp,  sequentially,  through  the
  5810.          parameters that  are new  and/or changed  for the  current release  of
  5811.          RBBS- PC.
  5812.  
  5813.     Parameter 191
  5814.          Will turn  the "printer  enabled" flag off  in all  the node  records.
  5815.          This is  useful if somehow the printer is accidentally enabled, but no
  5816.          printer exists (a condition which will halt RBBS-PC).
  5817.  
  5818.     Parameter 192
  5819.          Scans the USER file and turns the "highlight" feature off for any user
  5820.          who did not select COLOR.  This  will rescue confused callers from the
  5821.          problem  of receiving  ANSI  sequences when  their  terminal does  not
  5822.          support ANSI.
  5823.  
  5824.     10.11 RBBS-PC's File Management System Parameters
  5825.     -------------------------------------------------
  5826.     Parameter 201                                                            C:
  5827.  
  5828.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                 Page 10-22
  5829.  
  5830.          The drive letter where uploads should be placed.  Enter only the DRIVE
  5831.          letter here.  The exact subdirectory can be entered in parameter 208.
  5832.  
  5833.     Parameter 202                                                            99
  5834.          The  name of  the directory  file  where RBBS-PC  should place  upload
  5835.          descriptions.  This upload directory can be the master FMS  directory,
  5836.          or a separate upload directory.
  5837.  
  5838.     Parameter 203                                                            C:
  5839.          The drive/path were the upload directory is to be found.
  5840.  
  5841.     Parameter 204                                                             C
  5842.          The letters  of the drives  from which files  can be downloaded.   The
  5843.          order  in which they  are specified is  the order in  which the drives
  5844.          will be searched.  If the order is BAC, then drive B will be  searched
  5845.          first for  the file, then drive  A, and finally drive C.   While there
  5846.          can  be duplicate files  on each of  the drives, the  first file found
  5847.          will be the one downloaded to the user.
  5848.  
  5849.     Parameter 205                                                            NO
  5850.          Specifies that DOS subdirectories  are used.  This is a  reflection of
  5851.          RBBS-PC's  early  history  (before DOS  supported  subdirectories) and
  5852.          should always be set to YES.
  5853.  
  5854.     Parameter 206                                                            NO
  5855.          Specifies that uploads are to be sent to DOS subdirectories.   This is
  5856.          a  reflection  of  RBBS-PC's  early   history  (before  DOS  supported
  5857.          subdirectories) and should always be set to YES.
  5858.     Parameter 207                                                            NO
  5859.          Specifies that downloads are separated into  DOS subdirectories.  This
  5860.          is  a reflection  of  RBBS-PC's early  history  (before DOS  supported
  5861.          subdirectories) and should always be set to YES.
  5862.  
  5863.     Parameter 208
  5864.          Specifies the DOS subdirectory where UPLOADS are placed, and a list of
  5865.          subdirectories where DOWNLOADS are searched.  This is only  functional
  5866.          if you have responded "Yes" to  either parameter 206 or parameter 207.
  5867.          The  FAST FILE SEARCH  can be used in  conjunction with this directory
  5868.          list to find downloads (see section 12.9).
  5869.  
  5870.     Parameter 209                                                           DIR
  5871.          The file extension for RBBS-PC directory files.
  5872.  
  5873.     Parameter 210                                                        <none>
  5874.          An alternative extension  to be used for "directory"  files.  The main
  5875.          use for  an "alternate"  extension is to  allow "sub-boards"  to share
  5876.          directories using  the main extension  (parameter 209), but  also have
  5877.          some directories unique to  the "sub-board" that  are not shared  with
  5878.          others.
  5879.  
  5880.     Parameter 211                                                           DIR
  5881.          The name  (prefix only)  of the directory  of directories.   This file
  5882.          lists either the names of other .DIR files, or FMS category codes (see
  5883.          section 12).
  5884.  
  5885.     Parameter 212                                                            NO
  5886.          Allows the  SysOp to  exclude the  directory of  directories from  the
  5887.          search   done by the  New command.   If your directory  of directories
  5888.  
  5889.     USING THE "CONFIG" UTILITY TO CONFIGURE RBBS-PC                  Page 10-23
  5890.  
  5891.          does not contain  FILE descriptions, but only  directory descriptions,
  5892.          you will probably not want it searched by the "new" command.
  5893.  
  5894.     Parameter 213                                                            NO
  5895.          Specifies an additional file to place upload descriptions.  This could
  5896.          be used to maintain a downloadable list of ALL files, or a bulletin of
  5897.          NEW uploads.
  5898.  
  5899.     Parameter 214                                                        <none>
  5900.          The name (without path or extension) of the master FMS directory.  See
  5901.          section 12.3 for a full description of the advantages of using FMS
  5902.  
  5903.     Parameter 215                                                            NO
  5904.          Limits the search for directories to the master FMS directory.  If you
  5905.          have multiple .DIR files, set this parameter  to NO.  If you only  use
  5906.          FMS,  set this parameter  to YES  to increase  the speed  of directory
  5907.          searches.
  5908.  
  5909.     Parameter 216                                                           UNC
  5910.          The default category code for uploads.   This parameter is how uploads
  5911.          get classified in  the FMS  directory if  the uploader  does not  have
  5912.          sufficient security  to categorize  an upload.   If  this category  is
  5913.          "***," only the SysOp will see the new upload.
  5914.  
  5915.     Parameter 217                                                       DIR.CAT
  5916.          The name of the file which  tells RBBS-PC what categories are included
  5917.          in the FMS directory.   The format of the file is described in section
  5918.          12.5.
  5919.  
  5920.     Parameter 218                                                            NO
  5921.          Specifies  what directories  will be  listed  in a  request for  "all"
  5922.          directories.  This  parameter is  REQUIRED in  order for  "all" to  be
  5923.          defined as an option.  Begin with "@" if you want to specify a list of
  5924.          directories.  For  example, "@C:\RBBS\ALLDIR.LST" means that  the text
  5925.          file "ALLDIR.LST" on drive C  in subdirectory RBBS contains a  list of
  5926.          directories to  search when  "all" is specified.   The  directories in
  5927.          ALLDIR.LST should use  the same names as the caller would type in, one
  5928.          to  a  line.   E.g. if  "all" is  the search  directories 1,3,  and 4,
  5929.          ALLDIR.LST should contain
  5930.                    1
  5931.                    3
  5932.                    4
  5933.  
  5934.     You can also specify a specific directory to confine all to by including an
  5935.     entry not  beginning with  "@", e.g.  "FMS" would  list directory  FMS.DIR,
  5936.     located in the  drive/path specified where directory files go.  If you want
  5937.     to disable  the search  for "all",  just press  Enter in  response to  this
  5938.     parameter.
  5939.  
  5940.     Parameter 219                                                            40
  5941.          The maximum length of the description that can be given to an uploaded
  5942.          file. RBBS-PC  can be  configured so that  those who upload  files can
  5943.          provide  a description  of the  file  they upload.   This  description
  5944.          informs others what the  file does and helps them decide  whether they
  5945.          want to download the files.  The maximum length of the description can
  5946.          be set to any  value between 40 and  46.  WARNING: If you  change this
  5947.          option, you must manually change all existing directories.
  5948.  
  5949.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                 Page 10-24
  5950.  
  5951.     Parameter 220                                                            C:
  5952.          The drive  and directory where all directory files must be put, except
  5953.          possibly for the upload  directory.  Only in  this DOS directory  does
  5954.          RBBS-PC look for RBBS-PC  directory  files, with the sole exception of
  5955.          the  upload directory  when the  caller's  security level  permits the
  5956.          upload directory to be viewed (see parameter 149).
  5957.  
  5958.     10.12 Communications Parameters (part 1)
  5959.     ----------------------------------------
  5960.     Parameter 221                                                          COM1
  5961.          The communication  port that RBBS-PC  will use.  If  you specify COM0,
  5962.          RBBS-PC will run in "local" mode, allowing you to run RBBS-PC  without
  5963.          a modem.    RBBS-PC can  support COM1  and COM2  directly,  or it  can
  5964.          support a FOSSIL  driver, and thereby support any  communications port
  5965.          supported by the FOSSIL.
  5966.  
  5967.     Parameter 222                                                             3
  5968.          The number of seconds that RBBS-PC should wait after initializing  the
  5969.          modem with a  "reset" command.  Many  modems require only 1  second to
  5970.          reset, however some may require much (MUCH) longer.
  5971.  
  5972.     Parameter 223                                                             1
  5973.          The number of seconds to wait prior to issuing a modem  command.  This
  5974.          is most useful when you have configured RBBS-PC to only issue commands
  5975.          between rings  and want the  modem to "settle  down" after a  ring has
  5976.          ended.   If you find that 2400 baud  calls are improperly connected at
  5977.          1200 baud, increase the  wait.  Some modems take longer  to connect at
  5978.          2400 than at lower speeds.
  5979.  
  5980.     Parameter 224                                                             1
  5981.          The number  of rings to wait  before answering the phone.   Specifying
  5982.          zero rings means that  the modem (not RBBS-PC!) will answer  the phone
  5983.          as  soon as it  rings.  NOTE:  RBBS-PC's control of answer  mode is an
  5984.          important  part  of its  security.    Setting  parameter 224  to  ZERO
  5985.          bypasses this  security!  If you specify one  or more rings, the modem
  5986.          must be able to tell RBBS-PC when the phone is ringing (via RS-232 pin
  5987.          22  or the "RING" response  string).  The  modem must also  be able to
  5988.          count rings  in its  S-registers.  You  can also  specify "Ring-Back."
  5989.          This instructs RBBS-PC  to IGNORE a  ringing phone, but  if the  phone
  5990.          stops ringing  (for more than  10 but less  than 45 seconds)  and then
  5991.          starts ringing again,  RBBS-PC will answer.   This is useful  for non-
  5992.          dedicated phone lines, or hearing-impaired SysOps who want to use both
  5993.          TDD (telecommunications device for  the deaf) and  RBBS-PC.  A  caller
  5994.          who wants the SysOp to use TDD will call, let the phone ring once then
  5995.          hang up, and then call BACK to get RBBS-PC to answer the phone.
  5996.  
  5997.     Parameter 225
  5998.          Sets the commands RBBS-PC uses to communicate  with the modem.  A list
  5999.          of  SysOp-supplied settings for various modems  is also available (See
  6000.          section 11).
  6001.  
  6002.     Parameter 226
  6003.          Activates  software-based  MNP  support.   This  option  is  no longer
  6004.          available,  unless Microcom  can supply a  library that  is compatible
  6005.          with current  Microsoft BASIC  compilers.   RBBS-PC  does support  MNP
  6006.          protocol  that is  hardware-based  (i.e. built  into  the calling  and
  6007.          answering modems).
  6008.  
  6009.     USING THE "CONFIG" UTILITY TO CONFIGURE RBBS-PC                  Page 10-25
  6010.  
  6011.     Parameter 227                                                            NO
  6012.          Restricts RBBS-PC so it will only issue modem commands BETWEEN  rings.
  6013.          Some  modems  cannot handle  the  telephone ringing  and  accept modem
  6014.          commands simultaneously.  Most modems do NOT require this restriction.
  6015.  
  6016.     Parameter 228                                                           300
  6017.          The  speed RBBS-PC should initialize  the modem to.   Most modems will
  6018.          only REDUCE  speed  when automatically  detecting baud  rate, so  this
  6019.          value should be set to the maximum speed supported by your modem.
  6020.  
  6021.     Parameter 229                                                   180 seconds
  6022.          The number of seconds RBBS-PC will wait before disconnecting an "idle"
  6023.          caller.  If  a caller walks away from an RBBS-PC session, RBBS-PC will
  6024.          first warn the caller,  then disconnect the  call after the  specified
  6025.          number of seconds.
  6026.  
  6027.     Parameter 230                                                            NO
  6028.          Specifies a "dumb" modem is being used.   Selecting this means that no
  6029.          modem  commands are sent from RBBS-PC to  the modem.  This can be used
  6030.          to connect RBBS-PC to a communications network (i.e. TymNet) or  local
  6031.          area network that supplied a simple RS-232 interface.  Selecting  this
  6032.          option causes RBBS-PC to
  6033.             - Issue no Hayes commands,
  6034.             - Depend on no Hayes-like responses,
  6035.             - Control the interface with the Data Terminal Ready (DTR),
  6036.             - Assume  somebody  has  called  whenever  Carrier Detect  (CD)  is
  6037.               detected, and
  6038.             - Assume that whomever calls is at the baud rate selected in CONFIG
  6039.               parameter 228.
  6040.  
  6041.     Parameter 231
  6042.          Initializes the  modem's firmware  for use by  RBBS-PC.   The commands
  6043.          used to perform firmware initialization can be modified with parameter
  6044.          225.
  6045.  
  6046.     Parameter 232                                                             3
  6047.          The number  of  seconds to  wait  after dropping  DTR  (Data  Terminal
  6048.          Ready).  RBBS-PC drops DTR in order to disconnect a caller.  Too short
  6049.          a delay will cause the modem not to re-initialize properly.
  6050.  
  6051.     Parameter 233                                                     PROTO.DEF
  6052.          The path  and  filename of  the  external protocol  driver  file  (see
  6053.          section 20).
  6054.  
  6055.     Parameter 234                                                            NO
  6056.          Activates RBBS-PC's check  for AutoDownload support (supported  by the
  6057.          PC-TALK terminal  emulator) at the start of each  call.  This check is
  6058.          incompatible  with some terminals and communications packages, causing
  6059.          them to stop displaying on the  local screen.  The caller can  control
  6060.          whether  autodownload is used  with the T)oggle  command in utilities.
  6061.          It is recommended that this option NOT be enabled.
  6062.  
  6063.     Parameter 235                                                           YES
  6064.          Instructs RBBS-PC  to force  downloads with  "binary" file  extensions
  6065.          (i.e. .ARC, .ZIP, .EXE, .COM, .OBJ, .WKS, .BAS, or whose second letter
  6066.          of the  extension is Q) to non-ASCII protocols.
  6067.  
  6068.     Parameter 236                                               <don't recycle>
  6069.  
  6070.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                 Page 10-26
  6071.  
  6072.          Instructs  RBBS-PC  to  "recycle" after  a  number  of  minutes passes
  6073.          without  receiving  a  call.   This  may  help  recover  from a  modem
  6074.          malfunction.    Set this  value to  the  number of  minutes  an "idle"
  6075.          RBBS-PC could mean  a modem problem.  Specifying 0  means that RBBS-PC
  6076.          will not re-cycle, no matter how many minutes elapse between calls.
  6077.  
  6078.     Parameter 237                                                            NO
  6079.          Forces RBBS-PC to  leave the modem at  the baud rate it  was initially
  6080.          opened at  rather than  automatically matching  the baud  rate of  the
  6081.          caller.   RBBS-PC  normally  changes  the  baud  rate  in  the  RS-232
  6082.          interface to match that of the callers.  Some modems allow  RBBS-PC to
  6083.          transfer at maximum speed  on all calls,  while the modem handles  the
  6084.          speed conversion.  In this case you would set parameter 237 to YES.
  6085.  
  6086.     10.13 Communications Parameters (part 2)
  6087.     ----------------------------------------
  6088.     Parameter 241                                                            NO
  6089.          Instructs RBBS-PC to  switch back to  the original parity/word  length
  6090.          setting after a  binary transfer.  If a caller using 7bit, even parity
  6091.          requests a binary transfer,  RBBS-PC will switch  to 8bit, no  parity.
  6092.          Parameter 241  controls whether  RBBS-PC stays at  8bit or  reverts to
  6093.          7bit after the transfer.  Most environments can remain at 8bit after a
  6094.          transfer.
  6095.  
  6096.     Parameter 242                                                             0
  6097.          Specifies the minimum modem speed that new callers can have.  If a new
  6098.          caller connects at a speed less than that specified, RBBS-PC will deny
  6099.          access to that caller.
  6100.  
  6101.     Parameter 243                                                             0
  6102.          Specifies the  minimum  modem  speed  for  OLD  callers.    With  this
  6103.          parameter, you  can block any NEW callers at  300bps, but allow a pre-
  6104.          registered caller access at that speed.
  6105.  
  6106.     Parameter 244                                                            NO
  6107.          Activates CTS (clear to  send) and RTS (request to send) flow control.
  6108.          This hardware  flow control uses  RS-232 pins 4  and 5 to  control the
  6109.          flow of data between RBBS-PC and the modem.
  6110.  
  6111.     Parameter 245                                                            NO
  6112.          Activates  XON/XOFF flow  control.   This  software flow  control uses
  6113.          ASCII codes to control the flow of data between RBBS-PC and the modem.
  6114.          NOTE:  RBBS-PC only  supports XON/XOFF at the end of  each buffer.  If
  6115.          RBBS-PC is to respond to XON/XOFF quickly, set parameter 54 to a small
  6116.          number.
  6117.  
  6118.     Parameter 246                                                            30
  6119.          The maximum time  RBBS-PC should wait for carrier  after answering the
  6120.          phone.
  6121.  
  6122.     10.14 Parameters for RBBS-PC NET-MAIL
  6123.     -------------------------------------
  6124.     Parameter 261                                                        <none>
  6125.          Specifies  the  time of  day in  HHMM  format at  which RBBS-PC  is to
  6126.          perform a "daily event."  At  this time, RBBS-PC will create a  "daily
  6127.          event" signal file, and exit  to DOS.  The signal file is  in the form
  6128.          "RBBS?TM.DEF", where  ? is  the node  number.   See section  13 for  a
  6129.  
  6130.     USING THE "CONFIG" UTILITY TO CONFIGURE RBBS-PC                  Page 10-27
  6131.  
  6132.          complete  description of  the requirements  for .BAT files  when doing
  6133.          daily events.
  6134.  
  6135.     Parameter 262                                                        <none>
  6136.          Selects a  network  "front end"  for  use with  RBBS-PC.    Currently,
  6137.          RBBS-PC supports the following front-ends: SeaDog and BinkleyTerm (see
  6138.          Appendix  S).    By  enabling  this  option,  the  SysOp  assumes  the
  6139.          responsibility of configuring the "net mail" application to:
  6140.  
  6141.            1. answer the  phone and  determine if  the caller  is sending  "net
  6142.               mail".
  6143.            2. if the caller is not sending "net mail", the net mail application
  6144.               must invoke RBBS-PC with the following command line:
  6145.  
  6146.               RBBS-PC.EXE nodeid filename /time /baud /RELIABLE
  6147.  
  6148.               where:
  6149.                  - "nodeid" is the node ID in the range 1-9, 0, or A-Z.
  6150.                  - "filename" is the fully  qualified file name  to use as  the
  6151.                    RBBS-PC ".DEF" file.
  6152.                  - "/time" is the time of day for RBBS-PC to return to the "net
  6153.                    mail" application that called RBBS-PC.
  6154.                  - "/baud" if the baud rate that the caller dialed in at.
  6155.                  - "/RELIABLE" tells  RBBS-PC whether the connection  has error
  6156.                    correction built into the connected modems
  6157.  
  6158.     Parameter 263                                                        <none>
  6159.          The command to turn on intermediate host echo.  This is intended to be
  6160.          used  when RBBS-PC is  connected to a  public data network  (PDN) as a
  6161.          "node" --  not all systems that people log into on a PDN need be "main
  6162.          frame" computers!   When RBBS-PC is a  node on a public  data network,
  6163.          typically the network  will do the echoing  -- between the caller  and
  6164.          the port  they access  on the  PDN and  between RBBS-PC  and the  port
  6165.          RBBS-PC accesses  on the  PDN.   This causes  file transfers  to be  a
  6166.          problem because  the PDN  will  continue to  echo.   Therefore  it  is
  6167.          necessary  to be able to go into an  "image" mode where data is passed
  6168.          through the PDN intact with no  echoing.  The contents of this  string
  6169.          will be sent  AFTER a file transfer  so the network will  resume echo.
  6170.          Any character  can be included in the  string using it's decimal ASCII
  6171.          equivalent  simply  by  putting  a   number  inside  square  brackets.
  6172.          Characters not  in square  brackets will be  transmitted as  they were
  6173.          entered.   The  string "a[32]"  will be  interpreted as  a lower  case
  6174.          letter "a" followed by a blank.
  6175.  
  6176.     Parameter 264                                                        <none>
  6177.          The string that is sent BEFORE a file exchange  that causes the PDN to
  6178.          STOP echoing.   As with parameter 263, the  contents of this string is
  6179.          entirely dependent  on the  predilections of the  PDN that  RBBS-PC is
  6180.          attached to.
  6181.  
  6182.     Parameter 265                                                       RBBS-PC
  6183.          Specifies  who should  echo  characters sent  to  RBBS-PC.   Normally,
  6184.          RBBS-PC echoes back to the caller.  But, when connected through a PDN,
  6185.          you may want to change this value to either "intermediate host", or to
  6186.          "the caller's system".
  6187.  
  6188.     Parameter 266                                                        <none>
  6189.  
  6190.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                 Page 10-28
  6191.  
  6192.          The  string RBBS-PC  will use  to  acknowledge each  line in  an ASCII
  6193.          protocol upload.   Typically, an ASCII upload is  characterized by two
  6194.          fundamental features -- it  contains no unprintable characters  and it
  6195.          does not  require any  "error checking".   Under some  circumstances a
  6196.          callers communications protocol  may require  a response from  RBBS-PC
  6197.          (i.e. a line feed) before the next line will be transmitted.
  6198.  
  6199.     Parameters 267                                                     FIDX.DEF
  6200.          The path and filename of the FFS  (Fast File Search) sorted names file
  6201.          (see section 12.9).
  6202.  
  6203.     Parameter 268                                                      LIDX.DEF
  6204.          The path and filename of the  FFS (Fast File Search) "tabs" file  (see
  6205.          section 12.9).
  6206.  
  6207.     10.15 New Users Parameters
  6208.     --------------------------
  6209.     Parameter 281                                                           YES
  6210.          Instructs RBBS-PC  to allow  new callers to  set their  default system
  6211.          values.  RBBS-PC typically asks new  users their choice of line feeds,
  6212.          graphics,  transfer  protocol,  and  "turbo-key".     Sometimes  these
  6213.          questions confuse new users, who lack the knowledge to answer them.
  6214.  
  6215.     Parameter 281
  6216.          Not implemented in this release of RBBS-PC.
  6217.  
  6218.     Parameter 282
  6219.          Not implemented in this release of RBBS-PC.
  6220.  
  6221.     Parameter 283
  6222.          Not implemented in this release of RBBS-PC.
  6223.  
  6224.     Parameter 284
  6225.          Not implemented in this release of RBBS-PC.
  6226.  
  6227.     Parameter 285
  6228.          Not implemented in this release of RBBS-PC.
  6229.  
  6230.     Parameter 286
  6231.          Not implemented in this release of RBBS-PC.
  6232.  
  6233.     Parameter 287
  6234.          Not implemented in this release of RBBS-PC.
  6235.  
  6236.     Parameter 288
  6237.          Not implemented in this release of RBBS-PC.
  6238.  
  6239.     Parameter 289
  6240.          Not implemented in this release of RBBS-PC.
  6241.  
  6242.     Parameter 290                                                           YES
  6243.          Specifies new users should  be saved in the USER file.   If set to NO,
  6244.          new  users  may log  in,  but  RBBS-PC  will  not "remember"  them  on
  6245.          subsequent calls.
  6246.  
  6247.     Parameter 291
  6248.  
  6249.     USING THE "CONFIG" UTILITY TO CONFIGURE RBBS-PC                  Page 10-29
  6250.  
  6251.          Instructs RBBS-PC  to allow new users when the  USER file is full.  In
  6252.          this  case, RBBS-PC  will  not "remember"  new  callers on  subsequent
  6253.          calls, until the USER file is expanded to accommodate more records.
  6254.  
  6255.     Parameter 292                                                            60
  6256.          Default maximum number of minutes a caller can bank.   0 disables, 255
  6257.          is the maximum.     When banked  time is withdraw, it is  added to the
  6258.          session time of the caller, and so gives users the ability to transfer
  6259.          unused time from one day to another.
  6260.  
  6261.     10.16 Use of the Library Sub-System
  6262.     -----------------------------------
  6263.     Parameter 301                                                        <none>
  6264.          Activates the Library Sub-System (see section 12.6).  Specify a drive,
  6265.          which must NOT be a drive used by any other RBBS-PC function.
  6266.  
  6267.     Parameter 302                                                 <default dir>
  6268.          The drive/path where RBBS-PC will find the upper directory (CDR.CDR is
  6269.          the default name).
  6270.  
  6271.     Parameter 303                                                           CDR
  6272.          The file extension that identifies library directory files.
  6273.  
  6274.     Parameter 304                                                 <default dir>
  6275.          The drive/path of  the Library "work disk."  This is where the Library
  6276.          sub-system creates archive files for transmission.   Normally, 360K of
  6277.          free space is required, so a RAM disk is suitable.
  6278.  
  6279.     Parameter 305                                                           705
  6280.          The number of disks available in the library.
  6281.  
  6282.     Parameter 306                                                             7
  6283.          The maximum  number of upper  level directories that will  be found on
  6284.          the Library disk.   The PC-SIG CD-ROM is organized with 10 upper level
  6285.          directories,  1-100, 101-200, 201-300  etc. and each  of these contain
  6286.          100 directories, DISK001, DISK002 etc.
  6287.  
  6288.     Parameter 307                                                           100
  6289.          The maximum number of  subdirectories that each upper  level directory
  6290.          can contain.
  6291.  
  6292.     Parameter 308                                                          DISK
  6293.          The prefix of the lower level directories.  Since the user enters only
  6294.          the disk number that is desired, RBBS-PC creates the subdirectory name
  6295.          based on this parameter and the number entered.
  6296.  
  6297.     Parameter 309                                                         MENU6
  6298.          The drive\path\name of the Library Sub-system menu.
  6299.  
  6300.     Parameter 310
  6301.          The list  of  command symbols  that  are available  from  the  Library
  6302.          Sub-System menu.
  6303.  
  6304.     Parameter 311                                                    <variable>
  6305.          The security values related to the symbols listed in parameter 310.
  6306.  
  6307.     Parameter 312                                                 <default dir>
  6308.          The drive\path where the archive utility program can be found.
  6309.  
  6310.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                 Page 10-30
  6311.  
  6312.     Parameter 313                                                          ARCA
  6313.          The archive utility that will do the archiving on Library disks.  When
  6314.          answering the questions to  this parameter you will also be asked what
  6315.          the CREATE parameter  is.  For PKARC  and ARC the correct  response is
  6316.          "A".   If using ARCA there is no CREATE  parameter since CREATE is the
  6317.          only function that it can do.
  6318.  
  6319.     10.17 RBBS-PC's Parameters for Color
  6320.     ------------------------------------
  6321.     Parameter 321                                                 [27][1;41;37m
  6322.          The string that turns ON highlighting or emphasizing of characters  in
  6323.          text strings displayed to the caller (see section 7.10).
  6324.  
  6325.     Parameter 322                                                 [27][0;40;33m
  6326.          The string that turns OFF highlighting or emphasizing of characters in
  6327.          text strings displayed to the caller.
  6328.  
  6329.     Parameter 323                                                  Bright Green
  6330.          Foreground color 1.  The SysOp can select this color in menus and text
  6331.          by using the SmartText command C1.
  6332.  
  6333.     Parameter 324                                                 Bright Yellow
  6334.          Foreground color 2.  The SysOp can select this color in menus and text
  6335.          by using the SmartText command C2.
  6336.  
  6337.     Parameter 325                                                 Bright Purple
  6338.          Foreground color 3.  The SysOp can select this color in menus and text
  6339.          by using the SmartText command C3.
  6340.  
  6341.     Parameter 326                                                   Bright Cyan
  6342.          Foreground color 4.  The SysOp can select this color in menus and text
  6343.          by using the SmartText command C4.
  6344.  
  6345.     Parameter 327                                                        <none>
  6346.          The  background  color  used  against  the preceding  four  foreground
  6347.          colors.
  6348.  
  6349.     MODEM SWITCH SETTING AND CONSIDERATIONS                           Page 11-1
  6350.  
  6351.     11. MODEM SWITCH SETTING AND CONSIDERATIONS
  6352.     -------------------------------------------
  6353.     Recognizing that there are many "Hayes-compatible"  (and not so compatible)
  6354.     modems in use,  this section is intended to assist  those adventurous souls
  6355.     who wish to properly configure a modem for use with RBBS-PC.  By explaining
  6356.     what RBBS-PC  expects from a modem,  we hope you  can determine how  to set
  6357.     your modem to provide what RBBS-PC expects.
  6358.  
  6359.     There are three levels of modem configurations:
  6360.  
  6361.       1) Hardware switches.  These are physical switches that can  be turned on
  6362.          or off to control modem functions.  RBBS-PC tries NOT to rely on these
  6363.          switches, since other software you use may require different settings.
  6364.          Many  modems have software  overrides for these  switches, and RBBS-PC
  6365.          will use them when possible.  If your modem has hardware switches, you
  6366.          will want to concentrate on them  first.  Find out what functions  are
  6367.          selected by switches that CANNOT be overridden by firmware or software
  6368.          commands.
  6369.  
  6370.       2) Firmware switches.  These are software  commands that you can issue to
  6371.          the modem, and then tell the modem  to "remember" these settings, even
  6372.          after the modem  is powered off.   RBBS-PC tries NOT to  rely on these
  6373.          switches, for the  same reason it avoids hardware  switches.  However,
  6374.          there are  usually switch  settings  that must  be  set for  use  with
  6375.          RBBS-PC.
  6376.  
  6377.       3) Software commands.  These are "temporary" commands sent to the  modem,
  6378.          that will be erased when the modem  is turned off.  RBBS-PC does  most
  6379.          of  the  configuration  via  software  commands,  to  allow  the  most
  6380.          flexibility in modem operation.
  6381.  
  6382.     RBBS-PC requires  a modem  to provide  certain functions  to ensure  proper
  6383.     operation.  By  studying these requirements, you  should be able to  find a
  6384.     combination  of hardware,  firmware and  software settings  to satisfy  all
  6385.     these needs:
  6386.  
  6387.        - Modem result  codes.   Most  modems  offer both  verbose  and  numeric
  6388.          results to modem commands.  RBBS-PC expects VERBOSE codes, as in:
  6389.  
  6390.               RING                When the phone is ringing
  6391.               CONNECT             When carrier is established
  6392.               CONNECT 2400 MNP    When a reliable 2400 bps call is established.
  6393.  
  6394.        - Carrier  Detection.  RBBS-PC expects the  modem to raise and lower the
  6395.          CARRIER DETECT signal (RS-232 pin 8) to properly reflect the  presence
  6396.          of a caller.
  6397.  
  6398.        - Data Terminal Ready.  RBBS-PC expects the modem to properly respond to
  6399.          DTR.  When  RBBS-PC turns DTR off,  any call should be  terminated and
  6400.          the modem should reset.
  6401.  
  6402.        - Ring counter.   RBBS-PC expects the modem to count the number of times
  6403.          the phone  rings, and provide  this count  when a "count  modem rings"
  6404.          command is sent.
  6405.  
  6406.     CONFIG parameter 225 allows the SysOp to set modem commands use by RBBS-PC.
  6407.     The commands that you can set are:
  6408.  
  6409.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 11-2
  6410.  
  6411.       1) RESET THE MODEM.   This command is  sent when RBBS-PC wants  the modem
  6412.          returned to its initial configuration  (including any changes saved in
  6413.          firmware).  Normally, the command used is: ATZ
  6414.  
  6415.       2) INITIALIZE THE MODEM.   This is the  SOFTWARE initialization, used  by
  6416.          RBBS-PC each time it recycles.  Any  commands needed to put your modem
  6417.          into  "RBBS-PC mode"  should go  here.   For generic  Hayes-compatible
  6418.          modems, the command would be: ATE0M0Q0V1X1S0=254S2=255S10=20
  6419.  
  6420.          The sub-command S0=254 is important to this string.  RBBS-PC uses this
  6421.          to control how it answers the phone.  Use:
  6422.  
  6423.               S0=001  to answer on 0 rings
  6424.               S0=254  to answer on 1 or more rings, no ring-back
  6425.               S0=255  to answer on 1 or more rings, with ring-back
  6426.  
  6427.       3) COUNT RINGS.   RBBS-PC  uses this command  to ask  the modem  how many
  6428.          times the phone  has rung.  For Hayes-compatible  modems, this command
  6429.          should be: ATS1?
  6430.  
  6431.       4) ANSWER PHONE.  RBBS-PC  uses this command to tell the  modem to answer
  6432.          the phone.  This is normally: ATA
  6433.  
  6434.       5) TAKE PHONE OFF  HOOK.  RBBS-PC  uses this command  to "busy the  line"
  6435.          when recycling, or when the SysOp drops to  DOS when the node is idle.
  6436.          This is normally: ATH1M0
  6437.  
  6438.       6) CLEAR FIRMWARE.  This command is used to reset the modem's firmware to
  6439.          "factory defaults."   CONFIG  uses it  before programming  the modem's
  6440.          firmware.  Normally, this is: AT&F
  6441.  
  6442.       7) INITIALIZE FIRMWARE.  This command sets any firmware settings that are
  6443.          needed to  satisfy RBBS-PC's  modem requirements.   The settings  will
  6444.          vary greatly from modem to modem.
  6445.  
  6446.       8) WRITE MODEM'S FIRMWARE.  This command is  used to make the settings in
  6447.          command 7 permanent.  Usually, this is: AT&W
  6448.  
  6449.     Appendix  D  contains  configuration  for  several   modem  brands.    This
  6450.     information  may serve as a  guide to configuring your  modem.  If you make
  6451.     any discoveries  about  the interaction  between  your modem  and  RBBS-PC,
  6452.     please share them with the RBBS-PC authors,  so that the information can be
  6453.     given to others.
  6454.  
  6455.     RBBS-PC's FILE MANAGEMENT SUBSYSTEM                               Page 12-1
  6456.  
  6457.     12. RBBS-PC's FILE MANAGEMENT SUBSYSTEM
  6458.     ---------------------------------------
  6459.     The File Subsystem allows RBBS-PC to maintain a list of files available for
  6460.     downloading.  Users  can list files by date,  category, file specification,
  6461.     or substring.   RBBS-PC  refers to a  file that  contains a  list of  files
  6462.     available for downloading as a "directory" (i.e. a .DIR file).  This should
  6463.     not be confused with DOS "subdirectories."
  6464.  
  6465.     There  are two ways  to configure the File  System.  One  is to have simple
  6466.     "directory" files.   The other  is to have  a FILE MANAGEMENT  SYSTEM (FMS)
  6467.     file   that contains  the names, sizes,  dates, and description  of all the
  6468.     files available for downloading.
  6469.  
  6470.     You may use both methods at once if you wish.  RBBS-PC will  support both a
  6471.     master FMS and separate .DIR files on the same system. CONFIG parameter 215
  6472.     controls whether RBBS-PC looks beyond the  FMS directory.  If you have  any
  6473.     separate  directories, set  215 to  NO.   If  you  have only  a single  FMS
  6474.     directory, set parameter 215 to YES.  If directory searches are not limited
  6475.     to the FMS directories  and RBBS-PC does not  find the category in the  FMS
  6476.     listing, it will look for the old-style DIR files.
  6477.  
  6478.     12.1 Simple Directory Format
  6479.     ----------------------------
  6480.     The simple directories, also referred to as the old-style directories,  are
  6481.     simply text  files. These  files are  identified by  their file  extension,
  6482.     specified in CONFIG, common to all  the directories.  The default extension
  6483.     is .DIR, but  it can be  changed via parameter 209.   There is  a directory
  6484.     which lists  the  directory names  and  their descriptions  whose  name  is
  6485.     specified via parameter 211 of CONFIG.
  6486.  
  6487.     Each directory  may have  anything in  it, including  ANSI codes.  The only
  6488.     restriction  is that in  order for the  N)ew command to  work properly, the
  6489.     date must be somewhere in the first 31 characters.
  6490.  
  6491.     All  uploads  are  placed  into  a  single  directory,  called  the  upload
  6492.     directory, specified in parameter 202 & 203.  All other directories must be
  6493.     in  the drive\path  specified  in parameter  220.   This  includes the  FMS
  6494.     directory and the list of DIR files, (DIR.DIR).
  6495.  
  6496.     There are, therefore, four  logical areas into which the  file subsystem is
  6497.     divided. Each one may reside in a separate DOS subdirectory, or all of them
  6498.     may be lumped together.
  6499.  
  6500.          Logical Area                       CONFIG
  6501.     1. The files for DOWNLOAD               parameter 204,  parameter 205,  and
  6502.                                             parameter 207
  6503.     2. The files that have been uploaded    parameter 201 and parameter 206
  6504.     3. The upload directory file listing.   parameter 202 and parameter 203
  6505.     4. The download directory files.        parameter 220
  6506.  
  6507.     The file management system not only manages  these "lists" of files, but it
  6508.     manages where on your system the  files are actually stored.  RBBS-PC  will
  6509.     not allow a caller to download a  file unless it finds this file where  the
  6510.     SysOp has instructed RBBS-PC to look.  There are two ways of doing this:  A
  6511.     download "path," and the Fast File Search.
  6512.  
  6513.     Config parameter  204  tells  RBBS-PC  which  DRIVES  can  be  checked  for
  6514.     downloads.  If  you do not use  DOS subdirectories, RBBS-PC looks  on these
  6515.  
  6516.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 12-2
  6517.  
  6518.     drives for downloads.  The parameter is specified with the drive letters to
  6519.     search.  For example: BAC would search Drive B, then Drive A, then Drive C.
  6520.  
  6521.     If the  files are not  in the default  directory then  you need to  use the
  6522.     CONFIG parameter 205 and parameter  207.  Parameter 205 specifies that  you
  6523.     want to use DOS sub-directories and parameter  207 allows you to list them.
  6524.     Use drive:\path format.
  6525.  
  6526.     Any directory can be in the Single FMS format.  This allows special purpose
  6527.     directories to  be put into FMS format  so they can take  advantage of such
  6528.     features as resumable listings normally associated just with the Single FMS
  6529.     environment.  An  unlimited number  of lines of  text can be  added to  any
  6530.     description (see CONFIG parameter 40, parameter 148, and parameter 153).  
  6531.  
  6532.     The  file  directories  have  absolutely  no bearing  on  what  is  in  the
  6533.     subdirectory.  A file can be listed but  not exist, and a file, such as one
  6534.     uploaded with  the / for  SysOp option, may exist  but not be  entered. The
  6535.     file directories are  simply methods  to get  the caller a  listing of  the
  6536.     files available.
  6537.  
  6538.     12.2 The FMS Header Record
  6539.     --------------------------
  6540.     FMS logically just lumps  all the old  style separate directories into  one
  6541.     directory file, called the MASTER or FMS directory, and assigning each file
  6542.     a CATEGORY  CODE,  which may  correspond to  the directory  it  was in  the
  6543.     original directories.  A utility program called CNVDIR.EXE will do  exactly
  6544.     this:  combine the separate  directories and add  the category  code at the
  6545.     end.   If you do  not already have  separate directories, simply set  it up
  6546.     with a text editor using the columns indicated.
  6547.  
  6548.     The first record at  the top of an FMS directory can  be an optional header
  6549.     record  that lets the SysOp pick special  options.   The header record must
  6550.     begin with "\FMS" and must have the  same length as the other lines.    The
  6551.     format is
  6552.  
  6553.     \FMS (option1) (option2) ... (optionN) (blank-fill) .
  6554.  
  6555.     Any character can be put at the last  position, but a period is recommended
  6556.     so that it will be easy  to see the end of the line.    The options are all
  6557.     keywords.    If no header record  is included, the  defaults are sorted  by
  6558.     date from oldest to newest, no chaining, file downloads not free,  and read
  6559.     from the bottom up.   The options include
  6560.  
  6561.     NOSORT         The  file is not  sorted by date.    Needed  if files are in
  6562.                    alphabetic order.    The big advantage of  date sorted files
  6563.                    are that the newest are shown first.
  6564.  
  6565.     CH(<fname>)    Chain  to file  <fname> when  the  end of  the directory  is
  6566.                    reached.     This enables  the  SysOp to  break  very  large
  6567.                    directories  into smaller,  more manageable  physical files,
  6568.                    which  logically   behave  like   one  big   one.       E.g.
  6569.                    "CH(C:\DIRS\UPLOADS.OLD)"  means   to  chain  to   the  file
  6570.                    UPLOADS.OLD in subdirectory C:\DIRS.
  6571.  
  6572.     FREE           FREE means that files listed downloaded while listing the
  6573.     NOFREE         directory are NOT  to be counted when  limiting downloads by
  6574.                    ratios.     If limiting  by  number of  downloads, the  file
  6575.                    downloaded will  not be counted  in the  caller's number  of
  6576.  
  6577.     RBBS-PC's FILE MANAGEMENT SUBSYSTEM                               Page 12-3
  6578.  
  6579.                    downloads.   If limiting by number of bytes, the size of the
  6580.                    file  will not  be counted.    This lets  the SysOp limiting
  6581.                    downloads  provide  some that  are  free and  unrestricted. 
  6582.                    NOFREE means  that the files  will be counted  when applying
  6583.                    downloads.
  6584.  
  6585.     LISTONLY       The files downloadable while listing  the directory are only
  6586.                    those explicitly  listed  in the  directory.    Normally,  a
  6587.                    caller can download any file in the downloadable areas.
  6588.  
  6589.     TIMEEXTRA N    The caller gets  an extra N minutes to  download files while
  6590.                    listing the  directory.    This  lets the  SysOp make  files
  6591.                    downloadable that the caller might not otherwise have enough
  6592.                    time to get.    For example, with  "TIMEEXTRA 80", a  caller
  6593.                    with  only  5 minutes  of  session  time  left  could  still
  6594.                    download a file requiring 40 minutes to download.
  6595.  
  6596.     TOP            Means  to read the file  from the top  down, rather than the
  6597.                    normal bottom  up.    Generally  needed when  files are  not
  6598.                    sorted by date from oldest to newest.
  6599.  
  6600.     PERS           Means  that the  files  in the  directory  are viewable  and
  6601.                    downloadable only  by those  addressed to the  caller (or  a
  6602.                    security level).    By default, PERS  sets TIMEEXTRA to  60,
  6603.                    LISTONLY  to  true,  and  FREE  to true,  unless  explicitly
  6604.                    overridden  by additional parameters.    Note:   this option
  6605.                    means that the category code field at the end of a line must
  6606.                    be expanded to the  size of the  hash (normally name)  field
  6607.                    used to identify users.
  6608.  
  6609.     Warning:  be careful with the options.    For example, if you put TIMEEXTRA
  6610.     in without LISTONLY, the caller will have extra time to download any file.
  6611.  
  6612.     12.3 Advantages/Disadvantages of FMS Directory
  6613.     ----------------------------------------------
  6614.     Having a FMS directory has the following advantages:
  6615.  
  6616.       1. Callers get  the  newest files  listed first.   The  directory can  be
  6617.          displayed EITHER from  top to bottom or  bottom to top.   Reading from
  6618.          bottom up is  appropriate when files are  in date order and  new files
  6619.          are appended to  the bottom.  When  files are alphabetized  or grouped
  6620.          some other way, it is more appropriate to read them from the top down.
  6621.  
  6622.       2. The  directory is  listed with  "MORE  ([Y],N) or  files to  download"
  6623.          prompts throughout the listing,  so at any  time the caller may  begin
  6624.          downloading, and pick  up where they left off in the listing after the
  6625.          download is completed.
  6626.  
  6627.       3. Wildcard searches on filenames are supported as well as exact  matches
  6628.          on  strings in  the  file  S)earch  command.   Whenever  a  wild  card
  6629.          character  (* and ?) is  specified in the  search string, RBBS-PC will
  6630.          automatically shift  to matching  just the  file name.   Exact  string
  6631.          matches search the full entry rather than just the file name.   String
  6632.          searches include  extended descriptions  for FMS  directories, but  in
  6633.          non-FMS directories  only the  first line of  the file  description is
  6634.          searched.
  6635.  
  6636.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 12-4
  6637.  
  6638.       4. Classification of files is  easy. All that  is necessary is an  editor
  6639.          that produces ASCII files, and a file is classified by a category code
  6640.          of up to 3  characters. To change a file from  directory to directory,
  6641.          all that is necessary is to  change the category code. No more  "erase
  6642.          it here and add it there."
  6643.  
  6644.       5. No SysOp  maintenance is  necessary for  new uploads.  The caller  can
  6645.          classify the upload  with a category code,  and the SysOp  can specify
  6646.          that the new uploads become instantly available.
  6647.  
  6648.       6. Complex classifications can be  made very simply.  A category code  is
  6649.          not necessarily the category  the caller must  type in. The SysOp  can
  6650.          elect to have a classification  system where one code that  the caller
  6651.          types in will  list several different category codes.  You can include
  6652.          the file in two directories without having two separate entries.
  6653.  
  6654.       7. FMS  directories  can  have  "headers"  (i.e.  free   text  lines  not
  6655.          associated with any particular file).  This allows things like  column
  6656.          headers  or help to be included, as  well as section headers.  A SysOp
  6657.          may  wish  to  separate a  "communications  directory"  into different
  6658.          sections such as one for QMODEM and one for RBBS-PC.  A free text line
  6659.          begins  with "*" and is universally  displayed if the category code is
  6660.          "***" otherwise it is only displayed when the category associated with
  6661.          the line is selected.
  6662.  
  6663.       8. Multi-line descriptions  (i.e. "extended" descriptions)  are supported
  6664.          in both FMS and "old-style" directories.  All columns except the first
  6665.          one are available for the description.  For FMS directories,  extended
  6666.          descriptions have the  same characteristics as the file  that they are
  6667.          associated with.
  6668.  
  6669.       9. The ability  to enter  "extended" descriptions for  uploaded files  is
  6670.          based on the caller's security level (see CONFIG parameter 127).
  6671.  
  6672.      10. Caller's  can  list  the  RBBS-PC  file  directories with  or  without
  6673.          extended description.  As an example, a caller would enter the command
  6674.          "L - UPLOADS" to list the files in the directory UPLOADS with only one
  6675.          line descriptions.  The command "L + UPLOADS" would list the same file
  6676.          with extended descriptions.
  6677.  
  6678.      11. Archived files can be viewed with  the V)iew command when listing  FMS
  6679.          directories and  the listing will  resume where  it left off  prior to
  6680.          issuing the V)iew command.
  6681.  
  6682.      12. Individual  entries  within  a  FMS  directory  can  be  restricted to
  6683.          specific security levels.
  6684.  
  6685.      13. Comment lines can be included in FMS directories which are never shown
  6686.          to a caller.   Often such comments  are useful reminders to  the SysOp
  6687.          who is maintaining the FMS directories.
  6688.  
  6689.      14. Callers can add upload descriptions  without actually uploading a file
  6690.          (see CONFIG  parameter 153).  This  is typically useful to  the SysOp.
  6691.          It makes it  easy to start an  FMS upload directory without  having to
  6692.          know anything about its internals  or how to use an editor.   With the
  6693.          exception  of a  CORVUS network  environment, FMS  directories can  be
  6694.          updated without taking the system down first.   All the caller does is
  6695.          issue  the normal  upload command.   If  RBBS-PC finds  that  the file
  6696.  
  6697.     RBBS-PC's FILE MANAGEMENT SUBSYSTEM                               Page 12-5
  6698.  
  6699.          already exists and  that the caller has the  necessary security level,
  6700.          RBBS-PC will get the file size and proceed exactly as  if the file had
  6701.          just been uploaded.
  6702.  
  6703.      15. Searches for new files is EXTREMELY fast because RBBS-PC does not have
  6704.          to search all directories if the single FMS directory is in date order
  6705.          (most recent date last)
  6706.  
  6707.      16. Latest uploads  are always shown  first, if  the SysOp has  elected to
  6708.          make them viewable and the master FMS is in date order.
  6709.  
  6710.      17. Searches for  text  will scan  the  text in  the  extended  multi-line
  6711.          descriptions.
  6712.  
  6713.      18. Composite  categories  can  be  logically  constructed  out  of  other
  6714.          categories (see section 12.5).
  6715.  
  6716.      19. Entries do  not have to be physically moved to  other .DIR files to be
  6717.          classified as belonging to it.
  6718.  
  6719.      20. FMS  directories  can  be "chained"  to  accommodate  those multi-user
  6720.          environments, such  as Corvus's OMNINET,  which will  not allow  files
  6721.          that change in length to be shared. In such an environment  FMS can be
  6722.          used, but the FMS directory  must "chain" to the upload  directory and
  6723.          their must be a separate upload directory for each node.
  6724.  
  6725.     Regrettably, the FMS directory also has ONE remaining limitation which  may
  6726.     make it unsuitable for all SysOp's needs.
  6727.  
  6728.       1. The date must be in MM-DD-YY format. Any single digit number must have
  6729.          a leading zero.
  6730.      
  6731.     If FMS does not totally satisfy your needs, you can use both.  RBBS-PC  can
  6732.     be configured  to look  for an old  style directory if  it does not  find a
  6733.     directory in the FMS.   If it finds one it will display it. If it does not,
  6734.     it displays the familiar "Directory XXX not found!" message.
  6735.  
  6736.     12.4 Creating FMS Directories
  6737.     -----------------------------
  6738.     FMS directories  are very  easy to  create,  when the  upload directory  is
  6739.     identical to the FMS  directory.   When logged on as SysOp, simply upload a
  6740.     file already there.    RBBS-PC will  ask you if  you want to overwrite  the
  6741.     file.  Say "no"!    Else you will delete the file, which  you could want to
  6742.     do in  other situations.    Then  RBBS-PC asks  you if  you want  to add  a
  6743.     description.  Say "yes".    Say the upload is to all, and when you describe
  6744.     the file and classify it, the entry goes right  into the FMS directory with
  6745.     the proper category code on the end.
  6746.  
  6747.     If you already  have separate directories and  want to convert them  to the
  6748.     FMS format, it would be  a good idea to copy all of them  into a single one
  6749.     called MASTER.DIR.  Detailed directions are given in the documentation  for
  6750.     CNVDIR.   In DOS this can be done like this:
  6751.      
  6752.                     COPY xxx.DIR+xxx.DIR+xxx.DIR... MASTER.DIR
  6753.      
  6754.     where xxx is  the name of  the old  style directories. The  3 dots mean  to
  6755.     continue until  you have all of the directories you  wish to include in the
  6756.     FMS directory.
  6757.  
  6758.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 12-6
  6759.  
  6760.     In addition to the "old style" file directories described in section  12.1,
  6761.     RBBS-PC supports two types of FMS "directories" -- multiple, single-subject
  6762.     FMS directories  or a  single multiple-subject  master FMS  directory.   If
  6763.     there are going to be multiple, single-subject FMS directories, there  must
  6764.     also be a "directory of  directories" (i.e. a master directory) whose  name
  6765.     is  specified in CONFIG parameter 211 and there  can not be more than 99 of
  6766.     these single-subject FMS directories.  If there is going to be a single FMS
  6767.     directory, it's  name  is  specified  in  CONFIG  parameter  214  and  it's
  6768.     qualifier is specified in CONFIG parameter 209.
  6769.  
  6770.     An example of multiple FMS directories that assumes the following:
  6771.     CONFIG parameter 220 is "C:\FMS",
  6772.     CONFIG parameter 209 is "DIR",
  6773.     CONFIG parameter 211 is "DIR", and the following files existed:
  6774.  
  6775.        C:\FMS\DIR.DIR
  6776.        C:\FMS\ALPHA.DIR
  6777.        C:\FMS\BEST.DIR
  6778.  
  6779.     The file ALPHA.DIR can be a FMS directory with  an alphabetical list of all
  6780.     files and BEST.DIR can be a FMS  directory with a date-ordered (latest date
  6781.     last) list of the "best" files.
  6782.  
  6783.     An FMS  directory can  have an  optional "header" line  that describes  the
  6784.     structure of the  directory.  RBBS-PC searches FMS  directories from bottom
  6785.     to top by default (i.e. the assumption is that they are sorted by date with
  6786.     the newest entry at the bottom).  To make an FMS directory read from top to
  6787.     bottom, the directory  must have the  optional "header" line  as the  first
  6788.     line. For  FMS to read an FMS directory from  top to bottom, the first four
  6789.     characters in the first  line must be "\FMS" and the  line must contain the
  6790.     three characters "TOP"  (i.e. the whole fixed-length line  would read "\FMS
  6791.     TOP"). For FMS  directories not sorted by  date, the word "NOSORT"  must be
  6792.     present  in  the first  line  (i.e. the  whole  line would  read  "\FMS TOP
  6793.     NOSORT").   The file ALPHA.DIR  would have the first line  in the file read
  6794.     "\FMS TOP NOSORT".  The file BEST.DIR would have the first line in the file
  6795.     read "\FMS  TOP" if all searches of the file  were to start with the oldest
  6796.     (i.e. first) entry.  It is  important to realize that FMS directories  must
  6797.     have a fixed length in every line.
  6798.  
  6799.     The columns of all FMS directories are set up as:
  6800.  
  6801.     Column               Purpose
  6802.  
  6803.      1-13                Filename
  6804.     14-22                File size
  6805.     24-31                Date in MM-DD-YY format
  6806.     34+                  Description + category code
  6807.  
  6808.     To add comments to an FMS directory and  not have them shown to the caller,
  6809.     simply begin the comment line with a slash, "/".
  6810.  
  6811.     To  force a  line  to be  displayed  that is  not  associated with  an  FMS
  6812.     directory entry, begin  the line with an  asterisk and, if it  is displayed
  6813.     for only specific categories, the appropriate category restriction.
  6814.  
  6815.     To make an FMS entry visible only to callers with a specific security level
  6816.     or higher, the first character of the file name must be an equal sign, "=".
  6817.     For this  entry, the file  name is in  columns 2 through  13.  The  minimum
  6818.  
  6819.     RBBS-PC's FILE MANAGEMENT SUBSYSTEM                               Page 12-7
  6820.  
  6821.     security to view  this entry goes in column  34 and is followed  by a blank
  6822.     and then the  description and category code within  the columns appropriate
  6823.     for them (based on CONFIG parameter 219).
  6824.  
  6825.     CONFIG parameter 219 specifies the length of the "description" field (40 to
  6826.     46).    The column  containing  the "category"  codes  can  be variable  as
  6827.     follows: 
  6828.      
  6829.     Length            Columns for description      Category code column
  6830.  
  6831.      40                     34-73                        74-76
  6832.      41                     34-74                        75-77
  6833.      42                     34-75                        76-78
  6834.      43                     34-76                        77-79
  6835.      44                     34-77                        78-80
  6836.      45                     34-78                        79-81
  6837.      46                     34-79                        80-82
  6838.  
  6839.     However,  some text  editors  may have  a  problem with  lines  80 or  more
  6840.     columns.
  6841.      
  6842.     The fussiest areas for use with FMS  are the DATE and CATEGORY CODE fields.
  6843.     These two  must be  absolutely perfect for  FMS to  function properly.  The
  6844.     others may be slightly more lenient.  In order to get the directory in  the
  6845.     correct format, insert  and delete spaces before and after the column.  The
  6846.     file name should not have interior or leading blanks.
  6847.      
  6848.     You must also add a  category code to each listing. This is  often the most
  6849.     difficult and  time consuming part  of setting  up FMS. A  good idea  is to
  6850.     format the rest of the directory before you add the codes.
  6851.      
  6852.     CONFIG has a  utility, parameter 187,  that will  check your FMS  directory
  6853.     structure for you.   If a  caller uploads with  a "/" for  SysOp, a ***  is
  6854.     placed for the category code and only those with a SysOp security level may
  6855.     view the listing (see CONFIG parameter 125).
  6856.  
  6857.     12.5 Defining the FMS Category Codes
  6858.     ------------------------------------
  6859.     In order for  FMS to work  correctly, the category  codes must be  defined.
  6860.     This is  done in the file DIR.CAT (see  CONFIG parameter 217). This file is
  6861.     rather interesting in the way it is set up and  the possibilities it brings
  6862.     up. The format of this file is, with each line being a separate entry:
  6863.  
  6864.     "<Category name>","<Category codes>","<Category description>"
  6865.      
  6866.     The category name  is what the caller  will enter to request  the category.
  6867.     The category codes are  a list of the character codes in  the FMS directory
  6868.     that  we want  to be  in  this category.   Category  codes  can be  1 to  3
  6869.     characters long, though the simplest  and most foolproof method is to  make
  6870.     them all exactly  3 characters long.   The category description is  a short
  6871.     message that we want displayed when the category is listed.
  6872.      
  6873.     If the category codes are  less than 3 characters in length, blanks must be
  6874.     added to  the right to fill  out the length  to exactly 3 when  putting the
  6875.     category codes on the end of file entry.
  6876.  
  6877.     A listing  can contain several category  codes. This means  that a category
  6878.     name  of BASIC  could  have the  category  codes BSU,BSG,BSS  in  it.   The
  6879.  
  6880.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 12-8
  6881.  
  6882.     category codes  may be  overlapped in several  different directories.   For
  6883.     example, the  BASIC directory used as an example  could also have each code
  6884.     included in  another directory.   UTILS could  contain DSU,PRU  (Dos utils,
  6885.     Printer  utils).  GAMES could  contain  CGG,BSG,TXG (Color  Graphics Games,
  6886.     Basic Games, Text games).  BASIC could contain BSG,BSS ( Basic Games, Basic
  6887.     Source).  SOURCE could contain ACS,BSS (Assembly code source, Basic Source)
  6888.     Such a setup would look like this:
  6889.  
  6890.         "BASICG","BSG","Basic Games"
  6891.         "TEXTG","TXG","Text Games"
  6892.         "COLORG","CGG","Color Graphics Games"
  6893.         "PRINT","PRU","Printer Utilities"
  6894.         "DOS","DSU","Dos Utilities"
  6895.         "ASSEM","ACS","Assembler source code"
  6896.         "BSOURCE","BSS","Basic Source Code"
  6897.         "UTILS","DSU,PRU","Utilities for IBM"
  6898.         "GAMES","CGG,BSG,TXG","Games for IBM"
  6899.         "BASIC","BSG,BSS","BASIC programs"
  6900.         "SOURCE","ACS,BSS","Source code for different languages"
  6901.  
  6902.     The directory might look like:
  6903.  
  6904.     FFIND.ZIP      13463   05-24-92  DOS Util look all over disk for file   DSU
  6905.     QUEST.ZIP      17325   06-02-92  C/G Game D&D style                     CGG
  6906.     RBBS-SRC.ZIP  202562   06-05-92  Source code for RBBS-PC                BSS
  6907.     QMODEMSC.ZIP  106735   06-07-92  Source code for QMODEM SST             PSS
  6908.     BALLOON.ARC     5634   06-08-92  BASIC Balloon game- GREAT              BSG
  6909.     STARTREK.LZH   76434   06-10-92  A great game- TEXT                     TXG
  6910.      
  6911.     When someone lists out GAMES, they get QUEST, BALLOON, and STARTREK.
  6912.      
  6913.     You  can also have  simply a one  to one correspondence,  rather than cross
  6914.     referencing by just having one category code for each category.
  6915.  
  6916.     A utility that will  help you in setting  up your FMS directory is  a SysOp
  6917.     function built into CONFIG.  Parameter 187  will test the structure of your
  6918.     FMS directory and diagnose any problems.  Be sure to run this utility after
  6919.     you have tried to set up FMS, or whenever you edit the FMS directory file.
  6920.  
  6921.     12.6 CD-Rom Support
  6922.     -------------------
  6923.     RBBS-PC has long had  one of the  best systems for  supporting CD-Rom as  a
  6924.     source of downloadable files.   CD-Roms present two special challenges to a
  6925.     BBS:     they  are  very  slow   devices  with  hundreds  or  thousands  of
  6926.     subdirectories.   Most BBS's therefore
  6927.  
  6928.     o    require separate access to download from a CD-Rom, such as a door
  6929.  
  6930.     o    do not check uploads for duplicates against the CD-Rom
  6931.  
  6932.     o    give very slow performance when finding a file on the CD-Rom.
  6933.  
  6934.     RBBS fully overcomes these limitations:
  6935.  
  6936.     o    the files on the CD-Rom can be transparently added to the downloadable
  6937.          files, with no difference in the way the user accesses them from those
  6938.          on a fast hard disk
  6939.  
  6940.     RBBS-PC's FILE MANAGEMENT SUBSYSTEM                               Page 12-9
  6941.  
  6942.     o    RBBS supports over 10,000 areas or subdirectories to download from
  6943.  
  6944.     o    files  are  found virtually  instantaneously  and uploads  checked for
  6945.          duplicates with no special delay.
  6946.  
  6947.     Once you get  a CD-Rom installed,  there are two things  you have to  do to
  6948.     make the files downloadable:
  6949.  
  6950.          o    add the  files  in  the  subdirectories  on  the  CD-Rom  to  the
  6951.               filespecs in the MAKEFIDX utility that creates a Fast File System
  6952.               index
  6953.  
  6954.          o    add the descriptions of the files on the CD-Rom to RBBS-PC's text
  6955.               directory listings.
  6956.  
  6957.     Both of these can be laborious processes for the SysOp, but the result is a
  6958.     fast, integrated, one-stop system for the caller.
  6959.  
  6960.     12.7 The "Library" Subsystem, CD-ROM, and FMS
  6961.     ---------------------------------------------
  6962.     The  RBBS-PC  "library"  sub-system  is   highly  flexible  subsystem  that
  6963.     basically allows  files  to  be  downloaded at  the  level  of  DOS's  disk
  6964.     subdirectories.  The  "library" subsystem is not limited  to any particular
  6965.     medium, but  its main application is  to older generation  CD-Roms that put
  6966.     the  files together  to  be downloaded  onto  thousands of  subdirectories.
  6967.     Basically, the library subsystem relies on three files:
  6968.  
  6969.     DIR.CDR   -  This is the  Directory of Directories just like DIR.DIR is the
  6970.     Directory  of Directories  for  the normal  download  area.   This  file is
  6971.     located on the  drive and path  designated in CONFIG  parameter 302, has  a
  6972.     file  name equal  to the extension  designated in  parameter 303 ,  and the
  6973.     extension designated in parameter 303.
  6974.  
  6975.     MASTER.CDR -  This is an FMS style directory.  Highly recommended to have a
  6976.     size of  46 to  allow for  placing the  DISK/AREA number  in the  last four
  6977.     positions of  description.   This file  is located  on the  drive and  path
  6978.     designated in  CONFIG parameter  302.   The following  is an  example of  a
  6979.     master directory file,  C:MASTER.CDR, that might be used  for the "library"
  6980.     subsystem.
  6981.  
  6982.          DEMO.DTA         9841  01-01-80 PRACTICE FORM                 680126
  6983.          READ.ME           256  01-01-80 INTRODUCTORY TEXT FILE        673102
  6984.          READ.ME           109  01-01-80 INTRODUCTORY TEXT FILE        671102
  6985.           DK0680   ARC          10-23-87 FORGE VERSION 2.0                200
  6986.           DK0673   ARC          10-23-87 FREEWAY ...(Disk 3 of 3)         200
  6987.           DK0671   ARC          10-23-87 FREEWAY ... (Disk 1 of 3)        200
  6988.          |            |         |        |                            |   |
  6989.          +- 1->13     |         |        |                            |   |
  6990.          File Name    +- 14->22 |        |                            |   |
  6991.                       File Size |        |                            |   |
  6992.                                 +- 24->31|                            |   |
  6993.                                 File Date|                            |   |
  6994.                                          +- 33->76                    |   |
  6995.                                          File Description             |   |
  6996.                                                               77->79 -+   |
  6997.                                                                  DOS      |
  6998.                                                                Directory  |
  6999.                                                                 Number    |
  7000.  
  7001.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                 Page 12-10
  7002.  
  7003.                                                                           |
  7004.                                                                   80->82 -+
  7005.                                                                   Category
  7006.                                                                     Code
  7007.  
  7008.         The last four characters of the 46-character file description field are
  7009.     used to indicate the "library"  pseudo-disk that the file  is in.  In  this
  7010.     way, when a caller lists files, it is self-evident in the description which
  7011.     DOS subdirectory the  caller must change to within  the "library" subsystem
  7012.     in order to download the file.
  7013.  
  7014.     RBBS-CDR.DEF  -  This  is the key file to  the successful operation of  the
  7015.     LIBRARY section.  It consists of three fields on each line.
  7016.  
  7017.                      "AAAA","BBBBBBBBBBBBBBBBBBBBBB","CCCCCCCCCCCCCCCCCC"cr/lf
  7018.  
  7019.                      A - A  four  position field numbered from  0001  to  9999.
  7020.                          This  is the DISK/AREA number assigned to  a  specific
  7021.                          group of files.
  7022.  
  7023.                      B - This field has no size limit and is a full path to the
  7024.                          area excluding the drive: designation. As an example:
  7025.  
  7026.                                \1_100\DISK0001
  7027.                                \GAMES\ADVENTUR\DISK1
  7028.                                \A_F\ALPHABET\DISK01\AREA36
  7029.  
  7030.                      C - This  field has no length limit but should be kept  at
  7031.                          around  56  characters to keep from line wrap  on  the
  7032.                          display.    It  should  contain  the  TITLE   of   the
  7033.                          disk/area.
  7034.  
  7035.     A file containing  a description of the library  subsystem's category codes
  7036.     must have  the name RBBS-CDR.DEF,  be in the  same DOS subdirectory  as the
  7037.     other RBBS-PC ".DEF" files, and look similar:
  7038.  
  7039.            "0671","\601-700\DISK671","FREEWAY Payroll system (Disk 1 of 3)"
  7040.            "0673","\601-700\DISK673","FREEWAY Payroll system (Disk 3 of 3)"
  7041.            "0680","\601-700\DISK680","FORGE VERSION 2.0"
  7042.  
  7043.     The "library" subsystem can be supported without using the FMS.  To do this
  7044.     each "directory" would have ".CDR" as it's extension (i.e. GAMES.CDR) -- or
  7045.     whatever extension was designated in CONFIG parameter 303.
  7046.  
  7047.     Typically, the "library" subsystem  is used with FMS.  When  using FMS with
  7048.     the "library"  subsystem it is necessary  to add categories  to the DIR.CAT
  7049.     file.  One  approach that works well  is utilizing categories 1-99  for the
  7050.     normal (i.e. non-library  area) downloads  and categories  100-200 for  the
  7051.     "library" downloads.
  7052.  
  7053.     The basic assumption of  RBBS-PC's "library" sub-system  is that files  are
  7054.     stored  in DOS  subdirectories on  the DOS  disk drive specified  in CONFIG
  7055.     parameter 301.
  7056.  
  7057.     12.7.1 How the "Library" Subsystem Works
  7058.     ----------------------------------------
  7059.     Before it is  possible to download  from the LIBRARY  area it is  mandatory
  7060.     that the caller  C)hange to the desired library disk.  This is accomplished
  7061.  
  7062.     RBBS-PC's FILE MANAGEMENT SUBSYSTEM                              Page 12-11
  7063.  
  7064.     by using the  C)hange command from the  library menu.  RBBS-PC  will accept
  7065.     any 1 to 4  digit number (padding  the front with zeros  to make it a  four
  7066.     digit number).  RBBS-PC  will then search  the RBBS-CDR.DEF file  (position
  7067.     AAAA only) for an exact match.  If no match is found then RBBS-PC indicates
  7068.     that no Library disk  has been selected.  If a match  is found then RBBS-PC
  7069.     will issue a CHDIR  command to the drive specified in  CONFIG parameter 301
  7070.     and the path BBBBBBBB that it constructs from the RBBS-CDR.DEF file.  RBBS-
  7071.     PC then informs  the caller that Disk  AAAA CCCCCCCCCCCC has  been selected
  7072.     (i.e. "Disk 0680 FORGE VERSION 2.0").
  7073.  
  7074.     The caller can download individual files from the area selected or A)rchive
  7075.     all the files in the selected area.  If the caller decides to A)rchive  all
  7076.     the files in the selected area,  RBBS-PC will SHELL to the Archive  program
  7077.     designated  in  CONFIG parameter  313 and  located  in the  drive  and path
  7078.     designated by  parameter 312.   RBBS-PC creates  an archived file  with the
  7079.     name DKAAAA.ZZZ,  where AAAA is the disk/area number on the drive and  path
  7080.     indicated by CONFIG parameter 304, and ZZZ is the extension,  which depends
  7081.     on what archiving program is used.
  7082.  
  7083.     RBBS-PC will  then check to see if there  are any subdirectories within the
  7084.     selected  area.    If  any  exist  then  RBBS-PC  will  again  Archive  the
  7085.     subdirectories and will create  ZZZ files with  the name DKAAAAa.ZZZ  where
  7086.     AAAA  is the disk/area number.  The designator,  "a", is an arbitrary id to
  7087.     differentiate  it from the original  ZZZ name.   If there is  more than one
  7088.     subdirectory, the "a" would be replaced by "b", "c", "d", etc.
  7089.  
  7090.     When this is complete the caller is told what files are ready for download.
  7091.     E.g.
  7092.  
  7093.          DKAAAA.ZIP is ready for download.
  7094.          DKAAAAa.ZIP is ready for download.
  7095.          DKAAAAb.ZIP is ready for download.
  7096.  
  7097.     As  each file is downloaded successfully it is removed from the list and is
  7098.     no longer displayed to the user as ready for download.
  7099.  
  7100.     12.7.2 The "Library" Subsystem and PC-SIG's CD-ROM
  7101.     --------------------------------------------------
  7102.     The CD-ROM published by PC-SIG consists of a DOS subdirectory for each 360K
  7103.     diskette in the PC-SIG  library. Sometimes the disk contains  all the files
  7104.     already in  compressed format  other times  they just  contain  a group  of
  7105.     files.  The key  here is the A)rchive  function.  The resulting file  to be
  7106.     made available  for download  will NEVER  be greater  than 360k.   This  is
  7107.     important since a caller may only have a floppy based system and  could not
  7108.     capture a file any larger than a 360k floppy can contain.
  7109.  
  7110.     The PC-SIG's  CD-ROM creates  the problem  of listing  both the  individual
  7111.     files contained on  each diskette as well  as a summary description  of the
  7112.     individual disks.  This can be solved by listing each of  the 18,000+ files
  7113.     in the MASTER.CDR using positions 43-76 for the description, positions  77-
  7114.     79 for the  disk drive, and  positions 80-82 for  the valid categories  for
  7115.     downloading.  These are contained in the file specified by CONFIG parameter
  7116.     217.
  7117.  
  7118.     MASTER.CDR might  also contain a list  of names of the files  that would be
  7119.     created by  the  A)rchive function.    This allows  the  caller to  scan  a
  7120.     category (i.e. category 200) for disk titles only.  Note that the  files do
  7121.     not exist until the  user uses the A)rchive  function. A SysOp who did  not
  7122.  
  7123.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                 Page 12-12
  7124.  
  7125.     wish to allow individual file downloads might only include these entries in
  7126.     the MASTER.CDR rather than the other 18,000 entries.
  7127.  
  7128.     The directory for the PC-SIG CD-ROM is over 1.5 megabytes in length and can
  7129.     take up to 10 minutes to search completely (when using a PC at 4.77 MHz).
  7130.  
  7131.     If the SysOp is using FMS, it is recommended that the category file for the
  7132.     normal FMS directory and the category file for the Library FMS directory be
  7133.     the same (PC-SIG has 27 different categories for its files).
  7134.  
  7135.     12.8 Creating the Personal Files Directory
  7136.     ------------------------------------------
  7137.     RBBS-PC's  "personal" file  support  is analogous  to RBBS-PC's  support of
  7138.     "personal" messages  in  that these  files  are specially  addressed  to  a
  7139.     specific caller or group of callers based on security.  Through the user of
  7140.     the FMS header, the rules governing personal downloads  can be specified by
  7141.     the SysOp.   But, normally, personal file downloads differ from the general
  7142.     download in three major ways:
  7143.  
  7144.       1) the caller  is given extra time to do  personal downloads, so that the
  7145.          qualifying  caller is not limited to just the session time left.   The
  7146.          default extra time is 60 minutes,  but can be set to whatever  desired
  7147.          using the TIMEEXTRA parameter in the header.
  7148.  
  7149.       2) only  files  explicitly  listed  in  the  personal  directory  can  be
  7150.          downloaded.  Normally files to be downloaded will be looked for on the
  7151.          disk(s)  where files  are available for  downloading whether  they are
  7152.          listed in a directory or not.
  7153.  
  7154.       3) only  callers  with matching  user record  or sufficient  security can
  7155.          download a  file.  Normally any  caller with security enough  to issue
  7156.          the download command can download a file.
  7157.        
  7158.     Personal files  provide  a way  that  files can  be  delivered to  specific
  7159.     individuals.   As an  example,  a vendor's  support  bulletin board  for  a
  7160.     software  product  might  make  the  upgrade  downloadable  only  by paying
  7161.     customers.    A  credit  reporting  corporation  can  make  credit  reports
  7162.     electronically available only  to the people who  order them.  Or,  a SysOp
  7163.     can make a file privately available to only one caller.
  7164.  
  7165.     One of  the most  useful applications  for personal  downloads  is to  make
  7166.     certain files  available is spite  of limited  session time.    Previously,
  7167.     SysOps had to  increase the security  of callers  or set artificially  high
  7168.     session limits  just to make  certain large  files available.   By  putting
  7169.     these file names  in the personal directory and  limited by security level,
  7170.     these files can  be made available regardless  of how little time  is left.
  7171.     For example, the large files comprising RBBS-PC can be made downloadable to
  7172.     all callers even though they are limited to 30 minutes.
  7173.  
  7174.     Access to personal files can be limited in two ways.  First,  the files can
  7175.     be downloaded only  by callers which  have a matching  value in their  user
  7176.     record.  For example,  files can be limited by name (any  field in the user
  7177.     record can  be selected).  Alternatively  files can be limited  by security
  7178.     level,  meaning  that a  file can  be  downloaded by  any person  with that
  7179.     security level  or higher.  File access based on security level can also be
  7180.     accomplished using the standard RBBS-PC file security mechanism, but to  do
  7181.     so places the caller's  under the standard  RBBS-PC constraints of  maximum
  7182.     time per session/day.
  7183.  
  7184.     RBBS-PC's FILE MANAGEMENT SUBSYSTEM                              Page 12-13
  7185.  
  7186.     Using the "P)ersonal files" command in the files section, a caller is asked
  7187.     what files the caller wants to download.   The only files available to  the
  7188.     caller for  downloading are  those explicitly  listed as  belonging to  the
  7189.     caller, unlike the  general download command which will look  for any named
  7190.     file on the disk.  The caller can ask to List the files available.  Callers
  7191.     will see only those belonging to them.
  7192.  
  7193.     There  is  a  special option  to  download  all and  only  the  "new" files
  7194.     specifically addressed to the user by matching a field in the caller's user
  7195.     record.  RBBS-PC  keeps track of whether the caller has ever downloaded the
  7196.     personal file.   When listing, new personal files are marked with an "*" in
  7197.     front of their names (they are "tagged").  Selecting the new files starts a
  7198.     multi-file download  for all  and only  the personal files  the caller  has
  7199.     never successfully downloaded.
  7200.  
  7201.     Files you  want  downloaded ONLY  through  the personal  file  features  of
  7202.     RBBS-PC  should be  put in their  own subdirectory  as specified  in CONFIG
  7203.     parameter 142.   If you put the  personal files in a  download subdirectory
  7204.     they  would be available then to anyone  who could name them.  RBBS-PC will
  7205.     search the download  areas for a  personal file if it  is not found  in the
  7206.     subdirectory specified in parameter 142.
  7207.  
  7208.     Creating a personal directory is easy for the SysOp.   Simply upload a file
  7209.     already there, do  not omit it, and  add a description.    RBBS-PC will ask
  7210.     you  who the file is to.   Just enter the name, and the described file will
  7211.     be written right into the personal directory, using the personal  directory
  7212.     with the name  specified in CONFIG  parameter 143.   This directory is  the
  7213.     same format as the general file directories of  RBBS- PC.  The format is as
  7214.     follows:
  7215.  
  7216.      Default   Field
  7217.     Positions  Length    Description of Field
  7218.  
  7219.      1 - 12      12     The first 12 characters of an entry have the file name,
  7220.                         with no internal spaces.
  7221.  
  7222.     13 - 73  Variable   The next group of characters can have anything in them.
  7223.                         This will  be displayed  to the caller  who asks  for a
  7224.                         listing,  along  with the  file  name in  the  first 12
  7225.                         columns.   The length of  this group  is 21  characters
  7226.                         plus the length of the  upload description specified in
  7227.                         CONFIG (40-46, defaults  to 40).  The default length of
  7228.                         this field is 61 characters.
  7229.  
  7230.     74 -104  Variable   The  next group  of  characters  are  what is  used  to
  7231.                         identify the file as "belonging" to the caller and must
  7232.                         match a field in the user record.  In CONFIG  parameter
  7233.                         43 and parameter  44, the SysOp specifies  the position
  7234.                         in the user record to use and how many characters.  The
  7235.                         default is to  begin in column 1 and  use 31 characters
  7236.                         for the caller's name, but any field in the user record
  7237.                         can be used.  Optionally, a security can  be entered in
  7238.                         this last field to limit the file based on the security
  7239.                         level of  the caller.   To use  security rather  than a
  7240.                         match on  the user  record, simply put  a blank  as the
  7241.                         first character in the field,  followed by the security
  7242.                         level.
  7243.  
  7244.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                 Page 12-14
  7245.  
  7246.     105            1    The last character  must be an "*" to  signify that the
  7247.                         file has never been downloaded  or an exclamation point
  7248.                         if ever downloaded.
  7249.  
  7250.     This personal  directory works  very much like  the File  Management System
  7251.     shared directory, using  a field  in the  user record as  the category  and
  7252.     limiting callers to their one category,  or limiting the file to the  group
  7253.     of caller's with  the minimum required security.  The personal directory is
  7254.     fixed length and read in reverse from bottom to top.
  7255.  
  7256.     After setting  up or modifying  the personal directory, you  use the CONFIG
  7257.     utility  parameter 187  to check  whether  the personal  directory has  the
  7258.     proper format.
  7259.  
  7260.     The personal directory can be created by a text editor  (i.e. EDLIN) but be
  7261.     sure to put in the "*" in the last column when creating a new entry so that
  7262.     the  file will be  tagged as new.   Also be  sure to make  each entry fixed
  7263.     length.   If the user's identity  does not fill out  the length of the last
  7264.     field, be sure to pad the record with blanks out to the full length.
  7265.  
  7266.     When setting  up a  personal file directory  there are  seven configuration
  7267.     options peculiar to personal files:
  7268.  
  7269.     CONFIG           Description
  7270.     parameter 43      what part of the user record used to identify files as
  7271.     parameter 44      belonging to the user (beginning column and length),
  7272.     parameter 143     the name of the personal directory,
  7273.     parameter 142     the drive and path where the personal files and personal
  7274.                       directory are stored, 
  7275.     parameter 144     the protocol that must be used downloading,
  7276.     parameter 147     whether the files downloaded are to be concatenated, and
  7277.     parameter 188     the CONFIG utility to check the structure of the personal
  7278.                       directory to make sure it is in the proper format.
  7279.  
  7280.     Parameter 147  and parameter 187 require some explanation of how they might
  7281.     be  used.   Limiting  the  caller to  a  required protocol  to  use  is not
  7282.     something one would generally do.  But, for special purpose downloads, like
  7283.     downloading  to a printer,  one might want  to require  ASCII, for example.
  7284.     Or, if  all callers are  to use the  same communications package  or only a
  7285.     particular protocol is efficient, you can specify what callers must use.
  7286.  
  7287.     Concatenating files  means  that  when multiple  files  are  specified  for
  7288.     downloading, the files are  sent continuously in one stream of  data rather
  7289.     than  individually as separate files.   In effect, the files are physically
  7290.     combined at  the  time of  downloading.   All  messages  between files  are
  7291.     suppressed -  the only messages  that appear to  the caller are  those that
  7292.     normally occur  when the first file transfer starts  and when the last file
  7293.     transfer  ends.    Concatenation  is  currently supported  only  for  ASCII
  7294.     downloads.
  7295.       
  7296.     An example of  a situation  that might  use this  feature of  RBBS-PC is  a
  7297.     business that generates short reports for  clients.  Their clients want  to
  7298.     call in remotely to get time-critical reports and print them right in their
  7299.     office on pre-formatted paper.   Each report is a separate  file on RBBS-PC
  7300.     with all the necessary printer commands already included in each file.
  7301.  
  7302.     A SysOp might  set up RBBS-PC such that  the main menu was  restructured to
  7303.     make the P)ersonal  files function be P)rint  reports to reflect the   more
  7304.  
  7305.     RBBS-PC's FILE MANAGEMENT SUBSYSTEM                              Page 12-15
  7306.  
  7307.     specialized  nature of  the board.   Callers to  this board would  call in,
  7308.     identify themselves, and select P)rint reports from the main menu.  Callers
  7309.     could  use L)ist  to see  what is  available if they  are looking  for some
  7310.     report in particular;  just select all new reports; or ask for a particular
  7311.     report if they must have it immediately.
  7312.  
  7313.     In the last two cases, RBBS-PC would notify the caller to set up to receive
  7314.     and press  [ENTER] when  ready.   The pre-formatted  reports with  embedded
  7315.     printer  control sequences  would  stream  out  onto the  paper  (including
  7316.     formatting like bold  or underline) positioning the  text to fit in  boxes.
  7317.     The paper  is automatically advanced  as needed.  When  done, RBBS-PC beeps
  7318.     the user, who  then turns  the "save  to printer" feature  off of  whatever
  7319.     communications package is being used.
  7320.  
  7321.     To set up  this application, the personal file options  would be configured
  7322.     to  use the  caller's id (e.g.  account number).   The files  and directory
  7323.     would be put in a special subdirectory  not shared with anything else.  The
  7324.     CONFIG  parameters would  be set  to specify that  caller's must  use ASCII
  7325.     ("A") as their protocol and that multi-file downloads will be concatenated.
  7326.  
  7327.     Another example is that of an electronic  job placement service that wanted
  7328.     to limit non-subscribers to a security  level 5 with 10 minutes.   However,
  7329.     they also want  non-subscribes to be able  to download a file  of potential
  7330.     employment opportunities that may take more than 10 minutes.  The following
  7331.     entries would be put into PRIV.DIR:
  7332.  
  7333.     JOBSFORU.ARC   282888  07-14-87  List of job opportunities you might want 5
  7334.               /|\                                                           /|\
  7335.               12                                                            74
  7336.      
  7337.     Each record is  padded with blanks so  that 29 blank characters  follow the
  7338.     security  level, followed  by  an '*'.     The  '*'  is not  shown in  this
  7339.     documentation since it is in a column too far to the right.
  7340.  
  7341.     12.9 Automatically Checking & Converting Uploaded Files
  7342.     -------------------------------------------------------
  7343.  
  7344.     Verifying the Integrity of a File
  7345.     ---------------------------------
  7346.     RBBS-PC's  on-going commitment  to  providing SysOps  with  the ability  to
  7347.     protect themselves and their callers is reflected in precisely this kind of
  7348.     feature.   When a file  is uploaded,  RBBS-PC will look  for a  file called
  7349.     T<ext>.BAT (where  <ext>  is the  file  extension of  the  uploaded  file).
  7350.     RBBS-PC looks  for this  file on  the drive  and path  specified in  CONFIG
  7351.     parameter 105.  If this file exits, RBBS-PC will SHELL to either:
  7352.  
  7353.          a.)  the program specified in the file (if it only has one line) or
  7354.          b.)  to the .BAT file itself.
  7355.  
  7356.     In this way a SysOp may install whatever processing is desired after a file
  7357.     has been uploaded.  
  7358.  
  7359.     If the BAT file contains exactly 1 line, RBBS-PC will shell to the contents
  7360.     of the bat file, passing on the command line the two parameters:
  7361.  
  7362.          a.)  the name of the file upload (first) and
  7363.          b.)  the name of the file to write the results to (second)
  7364.  
  7365.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                 Page 12-16
  7366.  
  7367.     If the BAT file contains more than one line, RBBS-PC will SHELL  to the BAT
  7368.     file itself,  passing 
  7369.  
  7370.          a.)  the name of the file upload for "[1]" and
  7371.          b.)  the name of the file to write the results to for "[2]"
  7372.  
  7373.     as the first and second parameters, respectively.
  7374.  
  7375.     RBBS-PC will  consider the upload  to have  failed and delete  the uploaded
  7376.     file, if  the file  to which  the results are  to be  written has  a length
  7377.     greater than 2 bytes.  The BAT file should either 
  7378.  
  7379.          a.) not write a result file or
  7380.          b.) leave an empty one if the upload is okay.
  7381.  
  7382.     If the file  that was uploaded is not okay, the external application should
  7383.     write out some error message more than 2 bytes long.
  7384.  
  7385.     A typical use for this feature of RBBS-PC is to test the compression of the
  7386.     uploaded  file and pipe  the results  to a text  scanner that looks  for an
  7387.     error string and redirects the output to a file if an error is found.   For
  7388.     example if  files that  are uploaded  with the  extension .ZIP  were to  be
  7389.     tested, a SysOp might create the file TZIP.BAT
  7390.  
  7391.              PKUNZIP -T [1] | FGREP "error in a" > [2]
  7392.  
  7393.     An alternative implementation is:
  7394.  
  7395.              PKUNZIP -T %1
  7396.              IF ERRORLEVEL 1 ECHO BAD UPLOAD > %2
  7397.              SETERROR 0
  7398.  
  7399.     Under versions  of QuickBASIC prior  to 4.5, programs that  reset the error
  7400.     level cause illegal  function call 5 upon return from the SHELL.  Therefore
  7401.     it is necessary to run a utility to reset the error level back  to 0 before
  7402.     going back to RBBS-PC.  This is what the SETERROR.EXE file does.
  7403.  
  7404.     The recommended procedure is  to use PKUNZIP,  check errorlevel, and  reset
  7405.     error level to  0.  PKUNZIP  outs somewhat variable strings  when different
  7406.     errors occur, making a filter based on text more difficult to implement.
  7407.  
  7408.     Converting Uploads
  7409.     ------------------ 
  7410.     RBBS-PC can be configured by the SysOp to cause uploads with  extension <u-
  7411.     ext> to  be converted to the  default extension <d-ext>.   To do  this, the
  7412.     SysOp  must put  a file  named C<u-ext><d-ext>.BAT  on  the drive  and path
  7413.     specified in CONFIG parameter 105.  If the file exists, RBBS-PC  will SHELL
  7414.     to it.
  7415.  
  7416.     If the SysOp wants all .ARC files uploaded converted to a .ZIP file, create
  7417.     a file CARCZIP.BAT  in the subdirectory specified in  CONFIG parameter 105.
  7418.     To  convert  .PAK files  to  .ZIP,  create the  file  CPAKZIP.BAT.   Sample
  7419.     conversion batch files are included on the RBBS-PC distribution diskettes.
  7420.  
  7421.     12.10 Fast File Search
  7422.     --------------------- 
  7423.     RBBS-PC 17.3 first included an enhanced  file-search capability for uploads
  7424.     and downloads.  This enhancement has two advantages:
  7425.  
  7426.     RBBS-PC's FILE MANAGEMENT SUBSYSTEM                              Page 12-17
  7427.  
  7428.      
  7429.     (a)  File searches are much faster.  In the case of very slow devices like 
  7430.          a CD-ROM, this can  be the difference between sub-second response and 
  7431.          a 45 second response.   File searches are now virtually instantaneous.
  7432.      
  7433.     (b)  Files not stored on this system can trigger macros.   This allows     
  7434.          requests for files stored elsewhere, either off line on backups, or on
  7435.          other cooperating systems, to trigger later processing.
  7436.  
  7437.     The basis for  the fast file search is a file, configuration parameter 267,
  7438.     which  is a  sorted list  of  file names  available for  downloading.   The
  7439.     default name is FIDX.DEF. 
  7440.  
  7441.     The format of this file is: 
  7442.  
  7443.     columns 1-12:  file name 
  7444.     columns 13-16: location index (1, 2, 3, ...) 
  7445.     columns 17-18: carriage return line feed. 
  7446.      
  7447.     All data  is stored as character data and the  file is editable.   The file
  7448.     names must be  stored with no internal  spaces and a period  separating the
  7449.     prefix from the extension.   The list  of file names MUST BE SORTED BY FILE
  7450.     NAME in order for the fast file search to work. 
  7451.      
  7452.     The location index  is the record number (line number) of the locator file,
  7453.     whose default name is LIDX.DEF, and has the following layout: 
  7454.      
  7455.     columns 1-63:  location of file 
  7456.     column  64:    any character.  MAKEFIDX puts in a period. 
  7457.     columns 65-66: carriage return line feed. 
  7458.      
  7459.     This file  is  all character  data  and is  editable.     Essentially,  the
  7460.     location index points to a record in the location file.   E.g. if  FIDX.DEF
  7461.     has 
  7462.      
  7463.     RBBS-BAS.ZIP   2 
  7464.     HARPIE.ARC     3 
  7465.      
  7466.     and LIDX.DEF has 
  7467.      
  7468.     C:\DOWN1\ 
  7469.     C:\DOWN2\ 
  7470.     C:\UP\ 
  7471.      
  7472.     Then  RBBS-BAS.ZIP  is  located  in  directory  C:\DOWN2  (2nd  record) and
  7473.     HARPIE.ARC is located in C:\UP (3rd record). 
  7474.  
  7475.     The location field  should be a  drive/path terminating with  a "\" if  any
  7476.     path is given, and file must be filled with blanks through column 63 if the
  7477.     path is shorter.   You must put  some character in column 64.  Many editors
  7478.     delete trailing  blanks, so  you should  probably put  in a  non-blank.   A
  7479.     period is a suitable choice. 
  7480.      
  7481.     RBBS-PC will use  a binary search on  the first 12 characters  in FIDX.DEF.
  7482.     This binary search can be significantly speeded by provided "tabs" for this
  7483.     file, indicating the record at which the first file is that begins with the
  7484.     symbols "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".    This is like  the "tabs"
  7485.     you see on dictionaries, so you can directly turn to the B's, for example. 
  7486.  
  7487.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                 Page 12-18
  7488.  
  7489.     A tab file has the same prefix as the file name file, except that it adds a
  7490.     "T".   For "FIDX.DEF", the  tab file would  be "FIDXT.DEF".    RBBS-PC will
  7491.     automatically detect  and use a  tab file  if available.    The tab  has 72
  7492.     characters in it.   Each 2 bytes represents a binary integer whose value is
  7493.     the record number in FIDX.DEF where the first file occurs that  begins with
  7494.     the respective symbols above.   Thus bytes 3-4 show where  files begin with
  7495.     "1" and bytes 69-70 where files begin with "Y". 
  7496.      
  7497.     Two utilities with  source code are provided  for setting up the  fast file
  7498.     searches.   The source, for compiling under QB 4.5, is included. 
  7499.      
  7500.     MAKEFIDX will create both  the file name  list (FIDX.DEF) and the  location
  7501.     file (LIDX.DEF), from a list of directories (see MAKEFIDX.CFG) or a list of
  7502.     file names, or both. 
  7503.      
  7504.     You must next sort  FIDX.DEF by file  name.  A  good shareware utility  for
  7505.     this is QSORT (QSORT FIDX.DEF /1:12). 
  7506.      
  7507.     MAKETABS will  create a  tab file  (FIDXT.DEF) from  the  sorted file  list
  7508.     FIDX.DEF.
  7509.      
  7510.     A sample batch  file for recreating a  fast file system is  MAKEFFS.BAT. It
  7511.     uses   MAKEFIDX.EXE,  QSORT.EXE,   MAKETABS.EXE,  and   configuration  file
  7512.     MAKEFIDX.KG.     You need  only edit  MAKEFIDX.KG  to change  the filespecs
  7513.     (/FileSpec=) to match  where your files are,  and where to write  the index
  7514.     files. 
  7515.  
  7516.     Reconfiguring to Take Maximal Advantage of Fast File Searches 
  7517.     -------------------------------------------------------------
  7518.     The fast file search is virtually instantaneous  on an 8088 with a tab file
  7519.     for  5000 file entries.   The savings on wear and tear on the hard disk can
  7520.     be very significant  as well.    And the time it  takes to set up  the fast
  7521.     file search is only a  few minutes.  Most  SysOps, therefore, will want  to
  7522.     implement fast file  searching, whether or not they have a slow device like
  7523.     a CD-ROM. 
  7524.      
  7525.     RBBS-PC will first search through the drive/paths specified in config to be
  7526.     available for downloading, as it  always did.   Files not  found there will
  7527.     then be searched  using the fast file search system. The  way the fast file
  7528.     search works  is that a file  found in its list  is looked for only  in the
  7529.     designated location.  Nothing else is searched. 
  7530.      
  7531.     The  optimal  way  to  implement  fast  file searching  is  to  reduce  the
  7532.     drive/paths  available for downloading  to, at most,  the upload directory,
  7533.     and let the fast file search handle everything else.   That way, files will
  7534.     be  searched first in  the upload  area, and those  not found will  then be
  7535.     searched  using the fast file  search system.  Note that  every file in the
  7536.     fast file search list is considered to be available for downloading whether
  7537.     or  not  its  drive/path  is  listed  in  the configuration  program  as  a
  7538.     downloadable  area.   Note  that  you can  have  separate fast  file search
  7539.     systems available for  each sub-board.    You  can also use  the fast  file
  7540.     search  for  common files  and  have  a  separate  download  area  for  the
  7541.     sub-boards. Note that  whenever you relocate files, you  must re-create the
  7542.     fast file search system.   This is not hard since it  takes little time and
  7543.     can be automated.
  7544.  
  7545.     RBBS-PC's FILE MANAGEMENT SUBSYSTEM                              Page 12-19
  7546.  
  7547.     Macros with the Fast File Search
  7548.     --------------------------------
  7549.     The location  file for the FFS (LIDX.DEF) can have in it "M! <macro file>",
  7550.     where "<macro  file>" is  the name of  a macro, instead  of a  drive/path. 
  7551.     RBBS-PC  will  then execute  the  macro.      Thus, you  can  have  special
  7552.     processing for classes of files, perhaps to
  7553.  
  7554.     o    advise that the upload is not wanted
  7555.  
  7556.     o    tell the caller on what other BBS the file can be found
  7557.  
  7558.     RBBS-PC will put a "U", "D", or "V" in work variable 1 depending on whether
  7559.     the file request is to upload, download, or view, so that you can customize
  7560.     your macro for the situation.   This if you want to display  a message only
  7561.     on an upload, you could have UNWANT.IMC with
  7562.  
  7563.          0
  7564.          {ON [1]
  7565.          {==U
  7566.          {*B
  7567.  
  7568.          The file {C1{FI{C0 is {C2NOT WANTED{C0 here.
  7569.          Please do not upload it.
  7570.  
  7571.          {END
  7572.          {END ON
  7573.  
  7574.     RBBS-PC regards the file as not found  when a macro is executed.   However,
  7575.     you can use the macro command "LO" to set a new location  that RBBS-PC will
  7576.     use to look for the file.   Thus, you can use macros for files  that really
  7577.     are  present.   For example,  if RBBS-EXE.ZIP  is downloaded,  the file  is
  7578.     located  in D:\D1, and  the entry RBBS-EXE.ZIP  in FIDX.DEF is  mapped to a
  7579.     record in  LIDX.DEF  with  the entry  "M!  C:\RBBS\DWNRBBS.IMC",  then  the
  7580.     following macro displays  a special message but still causes the file to be
  7581.     found:
  7582.  
  7583.          0
  7584.          {ON [1]
  7585.          {==D
  7586.          {*B
  7587.  
  7588.          Congratulations.  You are about to download the best BBS!
  7589.          Call me voice at 703-978-4339 if you need any help.
  7590.  
  7591.          {END
  7592.          {LO D:\D1\
  7593.          {END ON
  7594.  
  7595.     SETTING UP ".BAT" FILES FOR RBBS-PC                               Page 13-1
  7596.  
  7597.     13. SETTING UP ".BAT" FILES FOR RBBS-PC
  7598.     ---------------------------------------
  7599.     In order for you to  take advantage of all RBBS-PC functions, you  must run
  7600.     RBBS-PC via  a .BAT  file.   When processing  events such  as DOORS,  daily
  7601.     maintenance  and Remote DOS  access, RBBS-PC exits to  DOS, and expects the
  7602.     .BAT file that invoked it to handle these events.
  7603.  
  7604.     13.1 RBBS-PC's Startup Batch File
  7605.     ---------------------------------
  7606.     The batch file  (RBBS.BAT) that comes with  RBBS-PC is capable of  handling
  7607.     these events, but in order to make full use of  it, you must understand the
  7608.     commands in it.   RBBS-PC  stores the  name of  this batch  file in  CONFIG
  7609.     parameter 104.   This  example assumes  you have installed  RBBS-PC in  the
  7610.     directory C:\RBBS.  Each line in the .BAT file is described below:  
  7611.  
  7612.     COMMAND        DESCRIPTION
  7613.     ECHO OFF       This tells DOS not to display each command as it executes.
  7614.  
  7615.     CLS            This clears the screen.
  7616.  
  7617.     C:             This makes sure  that when  you start  RBBS-PC, the  default
  7618.                    drive is the one where RBBS-PC resides.
  7619.  
  7620.     IF %node%. == . SET node=1
  7621.                    You should remove  this line from RBBS.BAT, and  place it in
  7622.                    the AUTOEXEC.BAT  for  each node.    Of course,  change  the
  7623.                    number   to   correspond  to   the   node  number   in  each
  7624.                    AUTOEXEC.BAT.    This   function  makes   use  of  the   DOS
  7625.                    "environment variable" concept.   From now on,  when you see
  7626.                    %node%, substitute the node number.
  7627.  
  7628.     SET DSZLOG=XFER-%node%.DEF
  7629.                    You should remove  this line from RBBS.BAT, and  place it in
  7630.                    the  AUTOEXEC.BAT  for  each  node.   This  allows  external
  7631.                    protocol drivers (such as DSZ) to send  information to RBBS-
  7632.                    PC about the success of file transfers.
  7633.  
  7634.     :START         This is  a "branch label"  which allows RBBS.BAT  to recycle
  7635.                    continuously.
  7636.  
  7637.     CD C:\RBBS     This  line  makes sure  that  when  you  start RBBS-PC,  the
  7638.                    default subdirectory is the one where RBBS-PC resides.
  7639.  
  7640.     IF EXIST C:\RBBS\NODE%node%\RBBS%node%TM.DEF ...
  7641.           DEL C:\RBBS\NODE%node%\RBBS%node%TM.DEF
  7642.                    This  command checks  for the  DAILY EVENT signal  file, and
  7643.                    deletes it.   This is a "cleanup" command,  which makes sure
  7644.                    there are no old signal files on the disk.
  7645.  
  7646.     IF EXIST C:\RBBS\NODE%node%\RBBS%node%F1.DEF ...
  7647.           DEL C:\RBBS\NODE%node%\RBBS%node%F1.DEF
  7648.                    This  command checks  for the  SysOp EXIT  signal file,  and
  7649.                    deletes it.  This is a another "cleanup" command.
  7650.  
  7651.     IF EXIST C:\RBBS\NODE%node%\RCTTY.BAT ...
  7652.           DEL C:\RBBS\NODE%node%\RCTTY.BAT
  7653.                    This command checks  for the DOOR  signal file, and  deletes
  7654.                    it.   This is  a another  "cleanup" command.   The path  and
  7655.  
  7656.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 13-2
  7657.  
  7658.                    filename  of  this  signal  file  can  be  set  with  CONFIG
  7659.                    parameter 103.
  7660.  
  7661.     RBBS-PC %1     This command actually runs  RBBS-PC.  The  %1 allows you  to
  7662.                    specify options  when  you  use  the  RBBS.BAT  file.    For
  7663.                    example, if you enter "RBBS LOCAL", the "LOCAL" is passed to
  7664.                    RBBS-PC, so you can run in local mode.
  7665.  
  7666.     IF EXIST C:\RBBS\NODE%node%\RBBS%node%F1.DEF GOTO EXIT
  7667.                    This command checks  for the SysOp EXIT signal  file, and if
  7668.                    found,  exits the .BAT file.   The SysOp EXIT signal file is
  7669.                    created whenever the SysOp presses F1 at the local console.
  7670.  
  7671.     IF EXIST C:\RBBS\NODE%node%\RBBS%node%TM.DEF RBBSTIME.BAT
  7672.                    This command checks for the DAILY EVENT signal file, and  if
  7673.                    found, runs the .BAT file RBBSTIME.BAT.  The daily event can
  7674.                    contain any  maintenance  you wish  to  perform on  a  daily
  7675.                    basis.  RBBS-PC will create the DAILY EVENT signal file at a
  7676.                    the time specified in CONFIG parameter 261.
  7677.  
  7678.     IF EXIST C:\RBBS\NODE%node%\RCTTY.BAT C:\RBBS\NODE%node%\RCTTY.BAT
  7679.                    This command checks for the DOOR signal file, and if  found,
  7680.                    executes it.  The DOOR signal file is created when a  caller
  7681.                    opens a DOOR, or the SysOp requests remote DOS operation.
  7682.  
  7683.     GOTO START     This command restarts RBBS-PC during a "recycle."   The only
  7684.                    way to stop RBBS-PC completely is to press F1.
  7685.  
  7686.     :EXIT          This is  a "branch  label."  When  RBBS.BAT finds  the SysOp
  7687.                    EXIT signal file, it  branches here, which ends  RBBS-PC and
  7688.                    returns to DOS.
  7689.  
  7690.     For multi-node use, the command "RBBS-PC %1" must be changed to indicate to
  7691.     RBBS-PC that you are running multiple nodes.  The revised command would be:
  7692.  
  7693.     RBBS-PC %node% RBBS%node%PC.DEF %1
  7694.  
  7695.     13.2 The Daily Event .BAT file
  7696.     ------------------------------
  7697.     CONFIG option  261 allows you to specify a  time each day that RBBS-PC will
  7698.     exit for  daily maintenance.   The supplied  RBBS.BAT file can  detect this
  7699.     event (via  the RBBS?TM.DEF  signal file)  and process  a .BAT  file.   The
  7700.     contents of the  daily event file  can contain  whatever the SysOp  wishes:
  7701.     Tape backup commands, message packing, file verification or virus checking.
  7702.     Just make sure that the daily event  file re-invokes the RBBS.BAT file when
  7703.     processing is complete, and RBBS-PC will resume after the maintenance.
  7704.  
  7705.     THE USE OF RBBS-PC "DOORS"                                        Page 14-1
  7706.  
  7707.     14. THE USE OF RBBS-PC "DOORS"
  7708.     ------------------------------
  7709.     A door is a program contained on the RBBS-PC machine which can be run by an
  7710.     RBBS-PC caller.   This allows the BBS  user access to functions  other than
  7711.     those provided by RBBS-PC.   After the door terminates, control returns  to
  7712.     RBBS-PC.
  7713.  
  7714.     The concept of doors can be  confusing and complicated, but from  RBBS-PC's
  7715.     perspective, it is simple:
  7716.  
  7717.          When a caller requests a DOOR, RBBS-PC checks to see if  the door
  7718.          exists.  If so, RBBS-PC will create  a DOOR signal file and exit.
  7719.          It is the  responsibility of the invoking .BAT  file (see section
  7720.          13) to  start the  door.   RBBS-PC will  regain control when  the
  7721.          invoking .BAT file ends.
  7722.  
  7723.     With this simplicity  in mind, we will  now explain the complex  details of
  7724.     door processing:
  7725.  
  7726.     As a  potential door installer, you  should first become familiar  with the
  7727.     door program, WITHOUT RBBS-PC INVOLVEMENT!  Most  door programs can also be
  7728.     run directly from DOS.  Make sure  the program works, and you understand it
  7729.     before you expect RBBS-PC to run it.
  7730.  
  7731.     Once  you understand  the door program,  you must  set up the  interface to
  7732.     RBBS-PC.  A sample door is included with RBBS-PC.  The door (DOORTEST) does
  7733.     nothing, but it does show you how the interface works.
  7734.  
  7735.     14.1 A Quick Start to Installing Doors
  7736.     --------------------------------------
  7737.     To install the door, follow these steps:
  7738.  
  7739.        - Create  the door  batch  file, and  place  it in  the default  RBBS-PC
  7740.          directory  (DOORTEST.BAT  is an  example).    This batch  file  should
  7741.          contain the commands needed to run the door, and then return  to DOS).
  7742.          RBBS-PC will automatically restart after the door.
  7743.  
  7744.        - If  you want maximum  control over your  door, create an  entry in the
  7745.          DOORS.DEF file (see section 14.3).  Without this entry, the  door will
  7746.          still work,  but you will be able to  control more aspects of the door
  7747.          interface with this control file
  7748.  
  7749.        - Edit the  MENU5 file  (including the graphic  and color  versions) and
  7750.          enter the  name of your door.  The door  name must be IN CAPS, and the
  7751.          first word on a line.  The sample DOORTEST can be used as a guide.  If
  7752.          the door name is NOT in all MENU5 files,  RBBS-PC will allow the SysOp
  7753.          to exit  the  door, but  your callers  will  not be  able to  use  it.
  7754.          RBBS-PC uses the MENU5 as a security measure.  If the door name is not
  7755.          found in this file, callers are denied access to the door.
  7756.  
  7757.     14.2 The Major Problems with DOORS
  7758.     ----------------------------------
  7759.     The hard fact  about doors is that  most DOS application programs  that run
  7760.     perfectly fine locally  will not run  correctly for a  remote caller.   The
  7761.     general reason  for this is that,  compared the UNIX and even  the old CP/M
  7762.     microcomputer operating system, DOS has very limited support for access  to
  7763.     a computer from a remote site.  The primary general problem is  getting the
  7764.     application to take its  input from the communications port rather than the
  7765.  
  7766.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 14-2
  7767.  
  7768.     keyboard  and  getting   the  application  to  write  its   output  to  the
  7769.     communications port  rather than the local monitor.  In addition, even when
  7770.     input is redirected to the communications port, some remote keystrokes  may
  7771.     not work,  such  as the  function and  arrow keys.    Also, creating  "full
  7772.     screen" effects  on a remote BBS is difficult,  because of the wide variety
  7773.     of monitors and terminal controller cards.  Another general problem  is how
  7774.     to pass  information between the  BBS software and  the program doored  to,
  7775.     such as limiting the amount of time a caller  can spend in the door.   Most
  7776.     applications also are programmed  to wait indefinitely  for input and  will
  7777.     not time out.  More seriously, if the caller drops carrier, the door should
  7778.     terminate  and  send  control  back  to  the  BBS  software,  whereas  most
  7779.     applications will totally ignore  the fact that  carrier drops.    Finally,
  7780.     many applications let  the user issue DOS commands from within them or even
  7781.     to drop to DOS, which would be an intolerable security risk for a BBS.
  7782.          The upshot of  all of  these problems  is that most,  though not  all,
  7783.     applications that  run acceptably  as doors on  BBS's have  been especially
  7784.     designed to run as a door.
  7785.  
  7786.     14.2.1 Redirecting I/O
  7787.     ----------------------
  7788.     The main facility DOS provides in its  operating system for redirecting I/O
  7789.     is the CTTY command.   Unfortunately, this only works for applications that
  7790.     use standard  DOS bios calls to do  I/O rather than "directly  write to the
  7791.     hardware".   Unfortunately, the DOS  bios for handling I/O is so slow  that
  7792.     most  applications  directly  write  to   hardware  rather  than  accept  a
  7793.     performance penalty.    When SysOp function  7 is used, RBBS-PC  will write
  7794.     out  a door  that  does nothing  but  redirect I/O  and drop  to  DOS, then
  7795.     terminate completely.    What  typically happens after  the drop to  DOS is
  7796.     that the  output of an invoked program appears  on the local monitor rather
  7797.     than the remote, so that the remote SysOp calling in sees nothing.
  7798.  
  7799.     While being  limited to programs that use standard  DOS callers and print a
  7800.     "line  at a time"  on the  screen, scrolling prior  lines up, CTTY  has one
  7801.     major  liability.   When  the output is redirected from  the console to the
  7802.     communications port,  nothing appears  on the  local monitor,  so that  the
  7803.     SysOp "snooping" on  the BBS is  unable to see  what the caller does  while
  7804.     dooring.  This program is addressed by a device driver called GATEWAY which
  7805.     adds local  echo to remote sending.   It  is installed in CONFIG.SYS.   For
  7806.     doors, then simply say "CTTY GATE1" rather than "CTTY COM1".    For drop to
  7807.     DOS,  simply tell RBBS-PC in configuration parameter 106 what device to use
  7808.     after specifying you do not want to use CTTY.
  7809.  
  7810.     CTTY does not work in every environment.   For example, it is ignored under
  7811.     Desqview and  does not work properly under  TANDY DOS.   Also,  with DOS it
  7812.     fails  to  redirect standard  error  messages.     To  solve  this  problem
  7813.     STDERR.COM is included as part of  the basic RBBS-PC system.  This  program
  7814.     was provided by Quarterdeck  Systems.  If you  encounter this problem,  run
  7815.     "STDERR.COM" one time  only before you start RBBS-PC, including  it in your
  7816.     AUTOEXEC.BAT file.
  7817.  
  7818.     An alternative method  for redirecting I/O is  to use DOS redirection  on a
  7819.     command  line.    The ">xxx"  redirects standard  output to device  xxx and
  7820.     "<xxx"  redirects standard  input to  device xxx.     So, invoking  program
  7821.     "TEST" as follows
  7822.  
  7823.                           TEST <com1 >com1
  7824.  
  7825.     THE USE OF RBBS-PC "DOORS"                                        Page 14-3
  7826.  
  7827.     should send  and receive  from communications  port 1,  if the  application
  7828.     supports DOS redirection.
  7829.  
  7830.     A  shareware  product  called  DOORWAY  goes  a  long  way  toward  getting
  7831.     applications never written to be  a door to at least  work remotely.    You
  7832.     simply door to DOORWAY and invoke the intended door through  DOORWAY rather
  7833.     than directly.   While not every application will run, it does take care of
  7834.     most I/O problems.   See the documentation of DOORWAY on how to install it.
  7835.  
  7836.     Programs  written  explicitly  as   a  door  will  handle  these   problems
  7837.     themselves.
  7838.  
  7839.     14.2.2 Exchanging Information
  7840.     -----------------------------
  7841.     Most applications were never  designed to take  input from another  running
  7842.     program.    This creates a problem for BBS's, which almost always limit the
  7843.     session time a  caller can have, so that  the time a caller can  spend in a
  7844.     door  likewise should  have  a upper  limit,  preferably no  more  that the
  7845.     session time remaining that the caller has.   One of the main advantages of
  7846.     applications written as Doors is that they are designed to take information
  7847.     from  the  BBS.    RBBS-PC has  for  years  written  out  information in  a
  7848.     standardized  format, in a  text file, for  doors to read.     This file is
  7849.     DORINFOn.DEF,  where n  is the  node  id (1-9,0,A-Z),  written to  the same
  7850.     drive/path as the  caller's file, and  consists of all  text, one piece  of
  7851.     information per line, in the following order:
  7852.  
  7853.          1.   The name of the RBBS-PC system
  7854.          2.   The SysOp's first name
  7855.          3.   The SysOp's last name
  7856.          4.   The communications port being used
  7857.          5.   The baud rate and parity with which the caller logged on, and the
  7858.               baud rate at which RBBS-PC is connected to the modem
  7859.          6.   The network type (if any) RBBS-PC is running in
  7860.          7.   The caller's first name
  7861.          8.   The caller's last name
  7862.          9.   The city and state the caller is from
  7863.          10.  The caller's graphics preferences  (0 = none,  1 = IBM  character
  7864.               set, 2 = color graphics)
  7865.          11.  The caller's security level
  7866.          12.  The caller's max time allowed in the door
  7867.          13.  Whether fossil driver is used (-1 = yes, 0 = no)
  7868.  
  7869.     RBBS-PC macros allow any information to be written to a file for  a door in
  7870.     nearly any format desired (see 13.4), as well as  put different information
  7871.     on a command line for the door.
  7872.          RBBS-PC passes the node id as  the first command line argument to  the
  7873.     batch  file it invokes (or  as specified in the door  control file) so that
  7874.     the DOOR knows which  DORINFO file to read.    There are external utilities
  7875.     for converting DORINFO interfaces to other formats, for doors that  support
  7876.     different standards.
  7877.  
  7878.     14.2.3 Terminating After Carrier Loss
  7879.     -------------------------------------
  7880.     Applications not written as  doors typically will sit and wait  forever for
  7881.     input.   They do not "time out", that is, terminate after a limited time in
  7882.     which no input is received.   After if the carrier is dropped,  they do not
  7883.     detect that the  remote caller is "gone"  and will sit forever  waiting for
  7884.     input.    In effect, a dropped carrier "hangs" the BBS and no further calls
  7885.  
  7886.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 14-4
  7887.  
  7888.     will  be processed.   Programs  written  as doors  will terminate  both for
  7889.     inactivity and  when carrier drops.     The solution to this  problem is to
  7890.     install a memory resident program that will reboot the PC if carrier drops.
  7891.     The public domain program WATCHDOG does this.    Simply turn WATCHDOG on in
  7892.     the first  statement in the door  batch file, and  turn it off as  the last
  7893.     statement.    WATCHDOG is not needed,  and should not be used, for programs
  7894.     explicitly written to be doors.
  7895.  
  7896.     14.2.4 Security
  7897.     ---------------
  7898.     SysOps  should  realize that  doors  greatly  increase the  security  risks
  7899.     associated  with  running  a  BBS.     One  general  problem  is that  most
  7900.     applications for personal computers assume  that the user is the  owner and
  7901.     has access to  everything on the  PC.    As a  matter of convenience,  they
  7902.     often give the  user access to many  functions, such as deleting  files, or
  7903.     even shelling  to DOS.    This  assumption is simply  not true  when remote
  7904.     callers door to the  application.   Very few programs not  designed to be a
  7905.     door let the SysOp disable such dangerous functions.
  7906.  
  7907.     14.3 Invoking "DOOR"s Via The External Control File
  7908.     ---------------------------------------------------
  7909.     In addition to simply invoking "DOOR"s using the standard approach outlined
  7910.     above, RBBS-PC supports a  more sophisticated interface  to doors.   CONFIG
  7911.     parameter 109 allows  the SysOp to specify  the name of this  control file,
  7912.     which is usually DOORS.DEF.
  7913.  
  7914.     This  approach  allows   each  DOOR  to  be  invoked   in  different  ways.
  7915.     Specifically,  the  SysOp can  tailor  the way  each  "DOOR" is  invoked as
  7916.     follows:
  7917.  
  7918.        - The minimum security level to invoke each "DOOR" may be different.
  7919.  
  7920.        - The caller may be required to answer a questionnaire before the "DOOR"
  7921.          is  invoked.   This is extremely  useful if  the "DOOR" is  a database
  7922.          search  program  and the  questionnaire  gathers the  necessary search
  7923.          criteria from the caller prior to invoking the "DOOR".
  7924.  
  7925.        - The "DOOR" may be either SHELLed to (RBBS-PC remains in memory and the
  7926.          "DOOR"  is loaded  into free  RAM)  or EXITed  to (RBBS-PC  terminates
  7927.          itself and releases the memory for the "DOOR" to use).
  7928.  
  7929.        - The "DOOR"  may be  invoked via  a "template"  (see section  20.2) and
  7930.          information passed to the "DOOR".  "Templates" are useful when passing
  7931.          information  from  a  questionnaire  to  a  database  search  program.
  7932.          RBBS-PC normally  passes  the node  ID  as the  first  parameter to  a
  7933.          "DOOR".   When  using a "template"  to invoke a  "DOOR" the "template"
  7934.          must include the parameter "[NODE]", if the node ID is to be passed to
  7935.          the "DOOR".
  7936.  
  7937.        - A file  may be  specified for RBBS-PC  to display  to the  caller upon
  7938.          returning from a "DOOR".  This file may  be created by the "DOOR" that
  7939.          was invoked (i.e.  the output of the database search and retrieval) or
  7940.          simply a text file that the SysOp created.
  7941.  
  7942.        - When  returning  from each  "DOOR",  the  caller  can be  required  to
  7943.          re-enter their password as an added security verification.
  7944.  
  7945.     THE USE OF RBBS-PC "DOORS"                                        Page 14-5
  7946.  
  7947.        - The  maximum amount of time  a caller can spend  in each "DOOR" can be
  7948.          specified.  If the amount of time remaining the user has on the system
  7949.          is greater than the amount of time  allowed in the "DOOR", the smaller
  7950.          of the two times is used.
  7951.  
  7952.     The format of the door control file is:
  7953.  
  7954.     1.   Name of door - up to 8 characters
  7955.     2.   Minimum security to use door
  7956.     3.   Questionnaire to execute before the door
  7957.     4.   Method to invoke doors - "S" for shelling, else go to .BAT file
  7958.     5.   Template for invoking  door - make sure the  first word has a file    
  7959.          extension -  RBBS-PC will  check for  existence of the  first word  as
  7960.          file.
  7961.     6.   Whether  to  ask for  password on  return  - Y  is yes,  anything else
  7962.          bypasses password check
  7963.     7.   File to display after the door
  7964.     8.   Maximum  time allowed in doors -  time remaining passed to  door is   
  7965.          reduced if max time is less.
  7966.  
  7967.     Note:  RBBS-PC normally passes the node id  as the 1st parameter to a door.
  7968.     If  a template is used, RBBS-PC  will not automatically add this parameter.
  7969.     If you want it, you should include "[NODE]" in the template.  Special note:
  7970.     A door must still have a .BAT file in  order to be invoked, even if the BAT
  7971.     file is not used in the template!
  7972.     Example #1:
  7973.  
  7974.     MYDOOR,4,C:\RBBS\QUESTION\DOORQ.DEF,D,"MYDOOR.BAT [1] [2]",N,MYDOOR.TXT,
  7975.  
  7976.     This line tells RBBS-PC:
  7977.  
  7978.        - The name of the door is "MYDOOR"
  7979.        - Users with security 4 and above can run this door
  7980.        - Before starting the door, users are asked the DOORQ.DEF questionnaire
  7981.        - RBBS-PC should EXIT and run the door (rather than SHELLING)
  7982.        - The  door  is  started  by  running  MYDOOR.BAT,  and  two  parameters
  7983.          (presumably set in the questionnaire) are passed to the .BAT.
  7984.        - The caller does NOT have to enter a password to return to RBBS-PC
  7985.        - The  file "MYDOOR.TXT"  is shown  to  the caller  before returning  to
  7986.          RBBS-PC
  7987.        - No time limit (other than the caller's session time) is placed on this
  7988.          door.
  7989.  
  7990.     Example #2:
  7991.  
  7992.     MYDOOR,10,,S,"MYDOOR.BAT [NODE]",Y,,10
  7993.  
  7994.     This line tells RBBS-PC:
  7995.  
  7996.        - The name of the door is "MYDOOR"
  7997.        - Users with security 10 and above can run this door
  7998.        - No questionnaire is asked before starting the door
  7999.        - RBBS-PC should SHELL to  the door (rather than EXITING)
  8000.        - The door is started by running MYDOOR.BAT, and the RBBS-PC node number
  8001.          is passed to the .BAT.
  8002.        - The caller DOES have to enter a password to return to RBBS-PC
  8003.        - No file is shown to the caller before returning to RBBS-PC
  8004.  
  8005.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 14-6
  8006.  
  8007.        - A 10  minute time limit  is placed on  this door (unless  the caller's
  8008.          session time is less than this).
  8009.  
  8010.     As with  all features, the  control file approach  to invoking a  "DOOR" is
  8011.     optional.  However, even if  a control file is used,  a "DOOR" can only  be
  8012.     invoked by a caller if a .BAT file exists.
  8013.  
  8014.     14.4 EXITing or SHELLing to "DOOR"s
  8015.     -----------------------------------
  8016.     There are two ways to execute other programs from RBBS-PC:
  8017.  
  8018.      1)  EXITing RBBS-PC and invoking  the other program  via a .BAT file  that
  8019.          RBBS-PC builds dynamically, or
  8020.  
  8021.      2)  SHELLing to the other program while RBBS-PC remains in memory.
  8022.  
  8023.     EXITing RBBS-PC allows other BASIC programs to be run as  external programs
  8024.     to RBBS-PC, and allows all of RBBS-PC's  features to be active in computers
  8025.     with only 320K of memory.  The "price" that is paid is that upon  returning
  8026.     from the externally called  program, RBBS-PC's .EXE  file must be  reloaded
  8027.     into memory.   Unless a  control file  is used to  invoke "DOOR"s,  RBBS-PC
  8028.     always EXITs to "DOOR"s.
  8029.  
  8030.     SHELLing prohibits other BASIC programs  to be run as external  programs to
  8031.     RBBS-PC, consumes memory  because RBBS-PC remains in memory  when the other
  8032.     program is running, and requires 386K of memory (under DOS 3.2) to activate
  8033.     all  of RBBS-PC's features.   However, SHELLing does  eliminate the need to
  8034.     reload the RBBS-PC.EXE file each time.  
  8035.  
  8036.     14.5 Resetting The User's Record Via a "DOOR"
  8037.     ---------------------------------------------
  8038.     WARNING --  this is an extremely powerful feature!   It opens up everything
  8039.     in  the user record  to modification by  the "DOOR".  The  "door" must also
  8040.     have knowledge of where fields are in the user record and may cease to work
  8041.     properly when the user record changes its format.  The main application for
  8042.     this is feature within  RBBS-PC if for "DOOR"s that maintain certain SysOp-
  8043.     defined fields.
  8044.  
  8045.     For a "DOOR" to reset  any part of the user record all a  door has to do is
  8046.     include in DOUTx.DEF file, where x is node number, a line in the format
  8047.  
  8048.                         UR(<start>:<end>),<value>
  8049.  
  8050.     where:
  8051.            <start> is the beginning byte in user record,
  8052.            <end> is the number of bytes to revise, and
  8053.            <value>  is what  goes into  the  specified position  in the  user's
  8054.     record.
  8055.  
  8056.      For example,
  8057.  
  8058.                     UR(63:24),"City,State"
  8059.  
  8060.     would update the  city/state field with the value  "City,State", setting 24
  8061.     bytes in user  record to that value  (blank fill to right),  beginning with
  8062.     character position  63.    The "UR" request only  works for data  stored in
  8063.     character format in the user record.   RBBS-PC supports a second request in
  8064.     the form
  8065.  
  8066.     THE USE OF RBBS-PC "DOORS"                                        Page 14-7
  8067.  
  8068.                      SL,<sign><value>
  8069.  
  8070.     where "SL" stands for  security level.    <sign> can  be nothing, plus,  or
  8071.     minus, and  means respectively to set  the security level to  the following
  8072.     value, or  to raise  or lower the  security by  the amount specified.   For
  8073.     example,  "SL,6" requests  that the security  be set  to 6  whereas "SL,-2"
  8074.     means to lower the security by 2.
  8075.  
  8076.     14.6 A Summary of "DOOR"s
  8077.     -------------------------
  8078.     Doors stretch IBM's DOS' capabilities and requires more knowledge than most
  8079.     other BBS functions.  If the preceding  discussion of "doors" is a complete
  8080.     mystery to you, contact a SysOp of an RBBS-PC that is using "doors" and ask
  8081.     for help.  However, if you call a SysOp to learn about "doors" for personal
  8082.     gain (i.e. you  are a consultant or  some company's employee being  paid to
  8083.     write  a  "door")  have the  courtesy  to tell  him.   Please  do  not take
  8084.     advantage  of the  "user helping user"  concept.   Anyone who  has acquired
  8085.     specialized  knowledge has the right to be remunerated for their efforts if
  8086.     their  knowledge is  being used  to  further commercial  purposes and  they
  8087.     request it.
  8088.  
  8089.     THE SECURITY FEATURES OF RBBS-PC                                  Page 15-1
  8090.  
  8091.     15. THE SECURITY FEATURES OF RBBS-PC
  8092.     ------------------------------------
  8093.     RBBS-PC has always  been an open  system designed for  public use. A  SysOp
  8094.     should   always  ASSUME  that EVERY FILE ON  THE PC running  RBBS-PC CAN BE
  8095.     DOWNLOADED  AND/OR     DESTROYED.     However,    RBBS-PC   has   extensive
  8096.     safeguards    that   systematically   enhance  security  and privacy.   For
  8097.     example, RBBS-PC  has  the  logic  within  it's  code  to  prohibit  anyone
  8098.     (including the SysOp) from downloading the RBBS-PC "system" files described
  8099.     in section 6.2.    RBBS-PC can still be  run as  a  wide-open  system,  but
  8100.     the  SysOp has  many additional  options   to   restrain   access.    These
  8101.     security options make RBBS-PC much more suitable for  private  and business
  8102.     use.
  8103.  
  8104.     RBBS-PC's security is controlled by three things:
  8105.  
  8106.          1. the system configuration file (RBBS-PC.DEF),
  8107.          2. the  two external security files for
  8108.                a. passwords (PASSWRDS), and
  8109.                b. file downloads (FILESEC), and
  8110.          3. the users file (USERS) in which each user has an assigned 
  8111.             security level.
  8112.  
  8113.     The   users  file is controlled by the SysOp  user  maintenance  function 5
  8114.     as described in  section 16.  To change a specific users security level you
  8115.     select the M)odify option and then  the S)ecurity option.  This allows  you
  8116.     to set  the security level for a user.  Users cannot set their own security
  8117.     levels.   Section 15.3  describes how to  implement special  passwords that
  8118.     provide special privileges  to the groups  that issue them.   Section  15.4
  8119.     describes how specific files,  groups of files, or even  whole disk volumes
  8120.     can have download security levels associated with them.
  8121.  
  8122.     15.1 RBBS-PC's Security Features
  8123.     --------------------------------
  8124.     Each  user  has an  assigned  security  level, permitting  65,536  possible
  8125.     security  levels.   Each  command  in RBBS-PC  also  has a  security  level
  8126.     assigned to it.   Security assignments are controlled by the SysOp.  To use
  8127.     a command, the  caller's security level  must be  at least as  high as  the
  8128.     command's security  level.
  8129.  
  8130.     The SysOp can assign a file or group of  files both a security level and  a
  8131.     password.  To download a file, a caller must have a security level at least
  8132.     as high as  the file's and be able  to give the file's password  (if one is
  8133.     present).  All users must pass these  security tests, including anyone with
  8134.     SysOp privileges.
  8135.  
  8136.     Messages can be assigned a password by their creator. Then only persons who
  8137.     are able to give that password can read or kill the message.  Messages with
  8138.     password protection will show  <PROTECTED> when scanned.   Callers have  no
  8139.     way of distinguishing messages to private individuals and to groups  except
  8140.     by how  they are  addressed.  Persons  with SysOp  privileges can  read all
  8141.     messages.  See section 15.2 for an example of group passwords.
  8142.  
  8143.     Security violations  are  logged  to  the  CALLERS  file.    These  include
  8144.     attempting   to use  functions  without sufficient  security clearance  and
  8145.     failure to give required passwords.
  8146.  
  8147.     RBBS-PC's default configuration is that of an "open" system.
  8148.  
  8149.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 15-2
  8150.  
  8151.     RBBS-PC's security system provides the SysOp with several choices on how to
  8152.     run RBBS-PC. The chief ones are as follows:
  8153.  
  8154.     1.  Change the bulletin board from an open system available to all callers,
  8155.     to a pre-registered system available  only to specified users.  To  support
  8156.     this option, there is a function in the SysOps user maintenance option 5 to
  8157.     ADD users.
  8158.  
  8159.     2.  A SysOp can set up  different "classes" of users by assigning different
  8160.     security levels to  different users.  Concurrently the SysOp would have to 
  8161.     assign different security  levels to different commands.   For example, new
  8162.     callers  might be permitted  only to leave  a comment, read  bulletins, and
  8163.     list   files that can be  downloaded.  Or there  might be a group  of files
  8164.     assigned a security level that only members of a special interest group can
  8165.     download.
  8166.  
  8167.     3.   The  SysOp can  segregate  the functions  of the  bulletin  board into
  8168.     different  groups based on a password.   A specific file or group of  files
  8169.     can  be downloadable  only to  those  who know  the  password.   Similarly,
  8170.     messages can be  made open to everyone  knowing the password but  closed to
  8171.     everyone else.  This way there can be semi-private portions of the bulletin
  8172.     board.
  8173.  
  8174.     15.2 Examples of Uses for RBBS-PC's Security System
  8175.     ---------------------------------------------------
  8176.     Some examples of  how a SysOp can tailor RBBS-PC  using RBBS-PC's extensive
  8177.     security features follow.
  8178.      
  8179.     SPECIAL INTEREST GROUPS --  A special interest group (SIG) in a users group
  8180.     wishes   to  run  a RBBS-PC for both the general public and  its  own  use.
  8181.     An  example  would be an authors  SIG for persons interested  in publishing
  8182.     books  and  articles  or developing commercial software.   A definite  need
  8183.     would  exist to be able to address messages to everyone in the SIG  without
  8184.     making   them open to every caller.  The SIG would establish the convention
  8185.     to   password protect  general SIG messages  with the  password AUTHORONLY,
  8186.     and to  address them to AUTHORS SIG.
  8187.  
  8188.     Another example  would  be a  bulletin  board devoted  to the  exchange  of
  8189.     software.     Allowing  persons  to use  the  message subsystem  would only
  8190.     interfere  with the primary purpose  of the bulletin  board.  Therefore the
  8191.     SysOp removes from the menu the functions for leaving and reading messages.
  8192.     To prevent a person  from using the  functions to leave  or read a  message
  8193.     (even though they are  not displayed), the SysOp assigns these  functions a
  8194.     security level higher than a person who logs on normally would be assigned.
  8195.  
  8196.  
  8197.     Another example of  using RBBS-PC's security system  would be to set  up an
  8198.     agreed upon temporary password  such that when a user logs  onto the system
  8199.     they  can issue the password and get longer  than normally allowed.  If the
  8200.     time  for normal users  is 30 minutes,  the SysOp can  set up  the  special
  8201.     password SOFTEXCHANGE, with a maximum time on of 150 minutes instead of the
  8202.     normal 30.    By shifting over to this  special password after logging  in,
  8203.     members can get extra time if they need it. 
  8204.  
  8205.     SOFTWARE SUPPORT --  An author of a freeware program offers RBBS-PC support
  8206.     to  all persons who register their copies and send a contribution  of, say,
  8207.     $35  per  copy.   The  registered user  can  get answers  for  problems and
  8208.     download free  updates and sample applications.  The author wants anyone to
  8209.  
  8210.     THE SECURITY FEATURES OF RBBS-PC                                  Page 15-3
  8211.  
  8212.     be able  to call just  to find out  about the service.   New callers  get a
  8213.     security level of  2 automatically assigned to  them.  This allows  them to
  8214.     use only the message subsystem.  The  file subsystem is assigned a security
  8215.     level of 7.   Contributors are added  by the SysOp with a security level of
  8216.     7  and a   pre-assigned password.   Except for  SysOp functions, registered
  8217.     users have free  reign in the RBBS-PC.
  8218.  
  8219.     CLIENT  SUPPORT -- A SysOp  on a public RBBS-PC also  works as a management
  8220.     consultant.  She has several associates who work with her on projects.  She
  8221.     needs to be able to send and receive messages from her associates which the
  8222.     general public  should  not see.    So they  agree  on a  message  password
  8223.     NOTPUBLIC. To support her different clients she also needs to leave private
  8224.     files for  downloading.  To each  client she assigns  a special downloading
  8225.     password.  To restrict downloading to just that client, file names  are put
  8226.     in the file security file with the appropriate password.  Only persons with
  8227.     the password can then download them.
  8228.  
  8229.     PRIVILEGED  ELECTRONIC MAIL -- A  company uses RBBS-PC  to help support its
  8230.     regional offices.  Only regional vice-presidents should be able to download
  8231.     certain management reports.  In file  security these reports are assigned a
  8232.     high security level of 9, which only managers get.
  8233.  
  8234.     15.3 How to Implement the Password File
  8235.     ---------------------------------------
  8236.     CONFIG allows the  SysOp to designate the  name of the file  containing the
  8237.     privileged group  passwords to RBBS-PC.  Since this  file is a normal ASCII
  8238.     file, the   SysOp can use  any text editor to  create and update  the file.
  8239.     Put   the information for each  password on a single  line and separate the
  8240.     fields with  commas.   It is  important to  note  that EACH  record of  the
  8241.     password must  contain  THIRTEEN parameters  (i.e.  12 commas).    For  the
  8242.     password file, the format is:
  8243.  
  8244.     prm1,prm2,prm3,prm4,prm5,prm6,prm7,prm8,prm9,prm10,prm11,prm12,prm13
  8245.  
  8246.     where:
  8247.  
  8248.     prm1  -- password that this line applies to
  8249.     prm2  -- security level for password.  If no password was specified, this  
  8250.               is the user security level this line applies to
  8251.     prm3  -- maximum time in minutes for a single session
  8252.     prm4  -- maximum time in minutes per day
  8253.     prm5  -- number of days in the subscription period
  8254.     prm6  -- security level to drop to when subscription expires
  8255.     prm7  -- start time, in format HHMM 24 hour style, this line applies to
  8256.     prm8  -- end time, in format HHMM 24 hour style, this line applies to
  8257.  
  8258.     The start/end  time are limits on all other  parameters:  meaning that they
  8259.     apply only during the  specified times.   Specifying 0  for start/end times
  8260.     means that this line applies all day.
  8261.  
  8262.     prm9  -- the type of ratio method to use.  This  should be one of the      
  8263.     following:
  8264.                 '0' - meaning use the files uploaded to files downloaded ratio
  8265.                 '1' - meaning use the bytes uploaded to bytes downloaded ratio
  8266.                 '2' - meaning use the files per day restriction
  8267.                 '3' - meaning use the bytes per day restriction
  8268.  
  8269.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 15-4
  8270.  
  8271.     Note:   first time  callers must  upload at  least one  file (byte)  before
  8272.     downloading unless they are:
  8273.              exempt from the ratio requirements,
  8274.              are using the daily ratio method, or
  8275.              an initial upload credit has been granted.
  8276.     The initial credit field is ignored for methods 2 and 3.
  8277.  
  8278.     prm10 --  the ratio field.  A positive integer,  such as 15, placed in this
  8279.     parameter requires that the  caller maintain a ratio of a  least 1 file (or
  8280.     byte)  uploaded for  every 15 files  (or bytes)  downloaded.  The  ratio of
  8281.     uploads to  downloads can  be cumulative over  multiple days  or it  can be
  8282.     limited to the current day's activities of the caller.
  8283.  
  8284.     A 0 tells RBBS-PC to  record uploads, but it will not record downloads, nor
  8285.     will  it enforce ratios.  This  allows the SysOp to  have a "free" download
  8286.     period.
  8287.  
  8288.     A -1 tells  RBBS-PC to  record uploads  and downloads, but  not to  enforce
  8289.     ratios.  This  allows the SysOp to  keep records of each  user's transfers,
  8290.     but it will not stop a user from downloading as much as time allows.
  8291.  
  8292.     prm11  - the  initial  credit field.    This can  be  any positive  integer
  8293.     including zero.   The use of ratio methods 2 and 3 in conjunction with this
  8294.     field can restrict the number of files (or bytes) that can be downloaded by
  8295.     an individual or group of callers per day.
  8296.  
  8297.     prm12 - the elapsed time (in seconds) that a caller must wait after logging
  8298.     on  before  "Time  Locked"  features  will  become  available.    See   the
  8299.     description of  CONFIG parameter 155  for a full  description of how  "Time
  8300.     Lock" works.
  8301.  
  8302.     prm13 - the maximum number of minutes that can deposited in the time bank.
  8303.  
  8304.     Here are some examples of how the PASSWRDS file might be used:
  8305.  
  8306.     ,5,50,,,,0001,0600,,,,,           Security level 5 gets 50 session minutes
  8307.     ,5,25,,,,,,,,,,                   between 00:01 AM and 6 AM, and 25 minutes 
  8308.                                       otherwise.
  8309.  
  8310.     ,7,50,70,730,,,,,,,,
  8311.  
  8312.     Security level 7 has a  subscription period of 2 years and a  session limit
  8313.     of 50 minutes, and a daily limit of 70 minutes.
  8314.  
  8315.     BIGTIME,6,52,,,,,,,,,,
  8316.  
  8317.     Temporary password BIGTIME gets 52 minutes per session and a security of 6.
  8318.  
  8319.     EXTEND,5,120,,9999,,,,,,,,
  8320.  
  8321.     Temporary password  EXTEND gets  120 minutes for  the current  session (the
  8322.     user's elapsed time per day would  still remain whatever was set in  CONFIG
  8323.     parameter 8), a temporary security level of 5, and a subscription period of
  8324.     9,999 days.
  8325.  
  8326.     ,7,128,256,,,,,,,,120,15
  8327.  
  8328.     THE SECURITY FEATURES OF RBBS-PC                                  Page 15-5
  8329.  
  8330.     Users who  log on with a security level  of 7 are automatically granted 128
  8331.     minutes on  the system  for each session,  256 minutes  total for  each day
  8332.     (independent  of  what  was set  in  parameter  8  of  CONFIG),  and  their
  8333.     subscription period remains unchanged from whatever it was before, but they
  8334.     must wait 120 seconds  before being able to exit to a  "door" or download a
  8335.     file.   They can bank at most 15 minutes.
  8336.  
  8337.     SKIPRATIO,170,120,200,90,,0600,1200,0,0,,,
  8338.  
  8339.     Temporary password 'SKIPRATIO' grants the caller a security level of 170, a
  8340.     session limit of 120 minutes, a daily  time limit of 200 minutes, a 90  day
  8341.     subscription  period, during  the hours  of  6AM until  noon with  no ratio
  8342.     limits.  No downloads are added to the  counts for the user.   Changing the
  8343.     last "0" to "-1"  would cause the  counts to be added  but not acted on  to
  8344.     limit downloads.
  8345.  
  8346.     ,140,60,60,365,,0001,2400,1,10,,,
  8347.  
  8348.     Users  with a security  level 140, have  a session  limit of 60  minutes, a
  8349.     daily limit of 60 minutes, a one-year subscription, but during any  hour of
  8350.     the day they must  maintain a ratio of  1 byte uploaded for every  10 bytes
  8351.     downloaded. There is no  initial upload credit.  Therefore, an upload  must
  8352.     take place before a download.
  8353.  
  8354.     ,150,70,,90,,,,0,15,2,600,
  8355.  
  8356.     Users  with a security level of 150, have  a session limit of 70 minutes, a
  8357.     90 day subscription, must maintain a ratio of 1 file  uploaded for every 15
  8358.     downloaded.  An initial credit of  2 files are  granted to all new/existing
  8359.     users.  However, they can not exit  to a "door" or download a file  for the
  8360.     first 10 minutes (600 seconds) of their session.
  8361.  
  8362.     ,165,90,,120,,,,0,30,,90
  8363.  
  8364.     Users with a security level  of 165, have a session limit of  90 minutes, a
  8365.     120 day subscription, must maintain a ratio of 1 file uploaded for every 30
  8366.     downloaded. No initial upload credit is  granted.   They can bank up  to 90
  8367.     minutes.
  8368.  
  8369.     ,170,120,,365,,,,2,10,,,
  8370.  
  8371.     Users with a security level  of 170 have a session limit of  120 minutes, a
  8372.     one-year subscription limitation, but can only download 10 files per day.
  8373.  
  8374.     ,200,360,,730,,,,3,250000,,,
  8375.  
  8376.     Users with a security  level of 200 have a session limit  of 360 minutes, a
  8377.     two-year subscription, but can only download 250000 bytes per day.
  8378.  
  8379.     If you are using COPY CON to create this file you "MUST"  press F6 followed
  8380.     by a Ctrl/Z at the end of the last entry prior to pressing carriage return.
  8381.  
  8382.     15.4 Implementing Security for Download Files
  8383.     ---------------------------------------------
  8384.     CONFIG allows the  SysOp to designate the  name of the file  containing the
  8385.     passwords  and security levels  that can be  used to restrict  downloads of
  8386.     specific files, volumes, or file names meeting certain "wildcard" criteria.
  8387.     This file contains file names with download restrictions in the format:
  8388.  
  8389.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 15-6
  8390.  
  8391.     <filename>, <security level>,<password>
  8392.  
  8393.     Note:   Each line is a record and ends with carriage-return line-feed.  The
  8394.     only optional field is the password field for a filename.   By leaving  the
  8395.     password  field  empty,  no password is assigned to  a  file.   The  commas
  8396.     between  the fields are necessary.  YOU MUST HAVE TWO COMMAS ON  EACH  LINE
  8397.     even if you do not have a password associated with the file.
  8398.     Some examples would be:
  8399.  
  8400.        COMMAND.COM, 10,DOS
  8401.        PAYROLL.DAT, 99,BANKRUPT
  8402.        CALLGIRL.SEX,,ILLEGAL
  8403.        \FINANCE\STOCKS,100,
  8404.  
  8405.     The  file COMMAND.COM could not be downloaded unless a user had a  security
  8406.     level equal to or greater than 10 AND could supply the password "DOS".  The
  8407.     file PAYROLL.DAT could not be downloaded unless a user had a security level
  8408.     equal to or greater than 99 AND could supply the password "BANKRUPT".   Any
  8409.     user    could download  the  file  CALLGIRL.SEX if  they  could supply  the
  8410.     password   "ILLEGAL".    Any user  with a security  level of 100  or higher
  8411.     could download   the file STOCKS  in the  DOS subdirectory FINANCE  without
  8412.     supplying any password.
  8413.  
  8414.     Additionally  "wild-card"  characters and drive designators can be used  to
  8415.     protect or restrict certain classes of files (by extension, by drive, etc.)
  8416.     from being downloaded.
  8417.  
  8418.     Some examples would be:
  8419.  
  8420.        A:*.*,8,
  8421.        E:*.SEC,2,PW1
  8422.        A*.M*,0,GX3
  8423.        XY?X.*,9,3XG
  8424.  
  8425.     All files on drive A would require the users to have a security level of  8
  8426.     in  order for a  user to download them.  Any user who  wanted to download a
  8427.     file whose extension was ".SEC" and  was found to be on drive E  would have
  8428.     to  not  only have  a security level  of at least  2 but  to also give  the
  8429.     password   PW1.  The third  entry above would require  a user who wanted to
  8430.     download any   file on any drive with  a prefix that began with  "A" and an
  8431.     extension that began with "M" to have a security level of at least 0 and to
  8432.     enter the password  GX3.  Finally, the  last entry above would  require any
  8433.     user who  wanted  to download any file on any  drive whose four-letter name
  8434.     began with  "XY" and whose last letter was "X" with any extension to have a
  8435.     security level of at least 9 and enter the password 3XG.
  8436.  
  8437.     The wildcards  "*"  and "?"  operate just  like  they do  in DOS  with  two
  8438.     exceptions.    The "?"  requires  a character.    In DOS  the  name "HAPPY"
  8439.     satisfies  the file  specification "HAPPY?"  but  it does  not in  RBBS-PC.
  8440.     Also, in  RBBS-PC, a  wildcard applies to  an extension  only if  it occurs
  8441.     after  a  period.   Thus "xyz*"  in DOS  finds "xyz.a"  but not  in RBBS-PC
  8442.     ("xyz*.*" will find it).
  8443.  
  8444.     To get exceptions  to the  general rule,  just put the  exceptions first.  
  8445.     RBBS-PC's file security  search stops with the first  applicable entry that
  8446.     it  encounters.  For example, 
  8447.  
  8448.     THE SECURITY FEATURES OF RBBS-PC                                  Page 15-7
  8449.  
  8450.     1.  if you want all files on the B drive to require the user to have a     
  8451.          security level of at least 3,
  8452.  
  8453.     2.  except that files on the B drive with the extension ".SEC" would       
  8454.          require the user to have a security level of at least 6, and,
  8455.  
  8456.     3.  regardless of the disk drive that they were on, any file beginning
  8457.         with "MES" with an extension of ".SEC" would require the user to have
  8458.         a security level of at least 12 
  8459.  
  8460.     you would enter the following into the file security file
  8461.  
  8462.        MES*.SEC,12,
  8463.        B:*.SEC,6,
  8464.        B:*.*,3
  8465.  
  8466.     Special Note:  RBBS-PC is  hard-coded  so that  there are  some files  that
  8467.     nobody  can download -- not even the SysOp.  These are  RBBS-PC.DEF, users,
  8468.     messages, callers,  group password, comments, the file security, and backup
  8469.     files.   Similarly the batch files that control  RBBS-PC and let the caller
  8470.     exit to DOS cannot be downloaded.   The default security file provided with
  8471.     RBBS-PC is empty.
  8472.  
  8473.     15.5 Implementing Security for RBBS-PC Commands
  8474.     -----------------------------------------------
  8475.     RBBS-PC allows each command to be assigned it's own security level.  A user
  8476.     who  wishes  to invoke  an  RBBS-PC command  must  have at  least  the same
  8477.     security level as the command.   Let's assume that a SysOp wants  to set up
  8478.     the following classes of users:
  8479.  
  8480.       Classification of Users                        Security Level
  8481.  
  8482.     "Locked Out" Users                                     0
  8483.     New Users (first time)                                 1
  8484.     Normal Users                                           2
  8485.     Users who can "view" a Conference                      3
  8486.     Users who can enter Messages                           4
  8487.     Users who can download files                           5
  8488.     Users who can upload files                             6
  8489.     Users who can Join a Conference                        7
  8490.     Users who can do some SysOp commands (Jr. SysOps)      8
  8491.     Users who can enter a "door"                           9
  8492.     Users who can enter all SysOp commands  (Co-SysOps)   10
  8493.  
  8494.     The  following table  illustrates  one  method  of assigning  each  RBBS-PC
  8495.     command it's own security level:
  8496.                                          Security Level
  8497.              Subsystem/Command              Assigned to Command
  8498.  
  8499.      Messages Subsystem
  8500.         A>nswer questionnaire............... 4
  8501.         B>ulletins.......................... 1
  8502.         C>omments........................... 1
  8503.         D>oor subsystem..................... 9
  8504.         E>enter message..................... 4
  8505.         F>iles system....................... 1
  8506.         I>nitial welcome.................... 1
  8507.         J>oin a conference.................. 7
  8508.  
  8509.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 15-8
  8510.  
  8511.         K>ill messages...................... 4
  8512.         O>perator page...................... 1
  8513.         P>ersonal mail...................... 2
  8514.         R>ead messages...................... 2
  8515.         S>can messages...................... 1
  8516.         T>opic of messages.................. 1
  8517.         U>tilities (more)................... 1
  8518.         V>iew conference mail............... 3
  8519.         W>ho's on other nodes................3
  8520.         @>Library Sub-System.................1
  8521.      Files Subsystem
  8522.         D>ownload........................... 5
  8523.         G>oodbye............................ 0
  8524.         L>ist file directories.............. 4
  8525.         N>ew files.......................... 5
  8526.         P>ersonal downloads................. 5
  8527.         S>earch directories for string ..... 1 
  8528.         U>pload a file...................... 1
  8529.         V>erbose listing of file............ 1
  8530.      Utilities Subsystem
  8531.         B>aud rate.......................... 1
  8532.         C>lock (time of day)................ 1
  8533.         E>cho selection..................... 1
  8534.         F>ile transfer protocol............. 1
  8535.         G>raphics........................... 1
  8536.         L>ength of page..................... 1
  8537.         M>essage Margin..................... 1
  8538.         P>assword change.................... 1
  8539.         R>eview preferences................. 0
  8540.         S>tatistics of system............... 1
  8541.         T>oggle (line feeds, etc.).......... 1
  8542.         U>serlog............................ 2
  8543.      Library Subsystem
  8544.         A>rchive a Library disk..............5
  8545.         C>hange a Library disk...............5
  8546.         D>ownload........................... 5
  8547.         G>oodbye............................ 0
  8548.         L>ist file directories.............. 4
  8549.         S>earch directories for string ..... 1 
  8550.         V>erbose listing of file............ 1
  8551.      GLOBAL commands
  8552.         ?>What can be done.................. 1
  8553.         H>elp with a command................ 1
  8554.         Q>uit to another subsystem or exit.. 1
  8555.         X>Expert/novice toggle.............. 1
  8556.      SYSOP Subsystem
  8557.         1>List comments..................... 8
  8558.         2>List callers log..................10
  8559.         3>Recover a Message................. 8
  8560.         4>Erase comments.................... 9
  8561.         5>USERS maintenance.................10
  8562.         6>Toggle page bell.................. 8
  8563.         7>Exit to DOS 2.x or above.......... 9
  8564.  
  8565.     15.6 Beware of the "Trojan Horse!"
  8566.     ----------------------------------
  8567.     Despite RBBS-PC's security always remember that you should always assume:
  8568.  
  8569.     THE SECURITY FEATURES OF RBBS-PC                                  Page 15-9
  8570.  
  8571.            "EVERY FILE ON THE PC RUNNING RBBS-PC CAN
  8572.            BE DOWNLOADED, MODIFIED, AND/OR DESTROYED!"
  8573.  
  8574.     RBBS-PC's security system appears to be so fool-proof that some individuals
  8575.     have resorted  to  uploading programs  that  appear to  do one  thing,  but
  8576.     actually do  something else.  These "trojan  horse" programs search all the
  8577.     disks that are connected to the PC that  the program is running on for such
  8578.     RBBS-PC files as RBBS-PC.DEF or USERS.  The program then copies these files
  8579.     to an innocuously named  file that can be downloaded later  when the person
  8580.     who uploaded it logs onto the system again.  Since RBBS-PC.DEF contains the
  8581.     pseudonym that the  SysOp can use to  logon on remotely as the  SysOp, once
  8582.     the user downloads a copy  of it the user can then log on  as the SysOp and
  8583.     do just  about anything  including exiting  to DOS and  formatting all  the
  8584.     disks on the system.  Similarly, the USERS file contains passwords  and the
  8585.     security levels of everyone on your RBBS-PC -- some of  whom may have SysOp
  8586.     privileges.  
  8587.  
  8588.     You can protect  yourself against anyone logging  on as you, the  SysOp, by
  8589.     not allowing anyone  to logon as the  SysOp remotely (see  CONFIG parameter
  8590.     121).   You can protect yourself  against unauthorized access of  the USERS
  8591.     file by simply not allowing any user to have SysOp privileges.
  8592.  
  8593.     Of course there is the "trojan horse" program that doesn't even bother with
  8594.     the above, but simply destroys all the disk files on all the disks that are
  8595.     connected to the PC that is running the program.
  8596.  
  8597.     SYSOP FUNCTIONS                                                   Page 16-1
  8598.  
  8599.     16. SYSOP FUNCTIONS
  8600.     -------------------
  8601.     The SysOp functions are separated into two groups: Those functions that the
  8602.     SysOp, or  user with  sufficient security,  can use  while logged  onto the
  8603.     RBBS-PC, and those functions that are available from the local console.
  8604.      
  8605.     16.1 SYSOP Commands Within RBBS-PC
  8606.     ----------------------------------
  8607.     The following operations  can be performed by  the SysOp, or any  user with
  8608.     sufficient security, at the main RBBS-PC command prompt:
  8609.  
  8610.     1  - Type COMMENTS file.  The contents of  the COMMENTS file is displayed. 
  8611.          If commets  are saved as PRIVATE MESSAGES, the only time comments will
  8612.          appear in this file is when the message file is full.
  8613.  
  8614.     2  - Type CALLERS file.  A log is maintained of all persons who have called
  8615.          the system.   This function will  list the file showing the users name
  8616.          and  the date and time signed  on as well as a log of  their activity.
  8617.          This function is also available through the UTIL menu (function U).
  8618.  
  8619.     3  - Resurrect a message.   This function will  restore a message that  has
  8620.          been  killed.   If  the message  file  has been  "packed", the  killed
  8621.          messages  are no longer  recoverable.  The  function will ask  for the
  8622.          message number of the message to be recovered.
  8623.  
  8624.     4  - Erase the COMMENTS  file.  This function  will erase the comments.   A
  8625.          new  comments  file will  be created  the  next time  a user  leaves a
  8626.          comment.
  8627.  
  8628.     5  - USERS file maintenance.  The users file contains entries for each user
  8629.          registered with the system.  This function permits the SysOp to:
  8630.  
  8631.          A)dd -- add a user to the USERS file.
  8632.          L)st -- list the USERS file.
  8633.          P)rt -- print the USERS file on the printer.
  8634.          M)od -- modify a record in the USERS file.
  8635.          S)can - scan each record in the USERS file for a particular string.
  8636.  
  8637.     In <M>odify mode, limited editing of the users record in the USERS file can
  8638.     be done.  The following subfunctions are available:
  8639.  
  8640.          D  - Delete the user.
  8641.          F  - Find another user in the USERS file.
  8642.          M  - Return to the option 5 function prompt.
  8643.          N  - Give the user a new password.
  8644.          P  - Toggle the printer flag to print entries on the printer.
  8645.          Q  - Quit and return to the main message prompt.
  8646.          R  - Reset the user's graphic mode.
  8647.          S  - Set the security level of the user.  This can be  used to lockout
  8648.               or grant special privileges to the user.
  8649.          X  - Modify user's upload/download counts.
  8650.          #  - locate any record number within the USERS file.
  8651.          $  - Change the user's Registration date.
  8652.  
  8653.     In  <M>odify mode  a  record will  be displayed  followed by  a subfunction
  8654.     prompt for action.   To get to a  specific record the record number  can be
  8655.     entered at  the prompt and if valid that record  will be displayed.  If the
  8656.  
  8657.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 16-2
  8658.  
  8659.     record number is invalid or [ENTER] is pressed, the next record in the file
  8660.     will be displayed.
  8661.  
  8662.     6  - Toggles the  operator page  bell on/off.   This overrides  the "office
  8663.          hours" specified in the RBBS-PC.DEF file.
  8664.  
  8665.     7  - SysOp drop  to DOS  as a  remote user.   If  the SysOp  has logged  on
  8666.          remotely  and  is running  RBBS-PC  under  DOS  2.0 or  greater,  this
  8667.          function will use  the door interface to create a  "remote DOS shell."
  8668.          RBBS-PC must be able to process door exit .BAT files in order for this
  8669.          to work (see section 13).  The  SysOp will then see the DOS prompt  at
  8670.          the remote terminal and can execute whatever DOS commands or  programs
  8671.          the CTTY  command supports.    DOS will  look  for COMMAND.COM  to  be
  8672.          present  on the  disk drive  you specified  in parameter  105.   SysOp
  8673.          function 7,  unlike "doors,"  loads in  a copy  of COMMAND.COM  to run
  8674.          under  the copy  that  was running  RBBS-PC.   Also  be  sure to  read
  8675.          Appendix  T  and  make  sure  that  you   THOROUGHLY  understands  the
  8676.          limitations that DOS places on you when this option is invoked.
  8677.  
  8678.     Two areas of caution are advised when using SysOp  function 7 under DOS 2.0
  8679.     or  above.   First,  each  SysOp should  test  what can  be  done remotely.
  8680.     Software that reads  and writes directly to  the video BIOS and  does other
  8681.     things that  bypass  the standard  input  and output  of  DOS simply  won't
  8682.     function correctly.   Second, you should be  aware that you are in  DOS and
  8683.     can return to RBBS-PC only  by issuing the EXIT command.   This will return
  8684.     to the batch file  that was built dynamically by  RBBS-PC.  This file  will
  8685.     then  continue executing and  is designed to  reassign the  keyboard as the
  8686.     console and then  re-invoke RBBS-PC.  If you get disconnected while in DOS,
  8687.     your system  will be  locked up.   The  console  will be  assigned to  your
  8688.     communication port and your modem will have  dropped the line and will have
  8689.     been set  not to  auto-answer.   The only way  to restore  the system  is a
  8690.     manual power off/on sequence.
  8691.  
  8692.     16.2 SysOp Use of Function Keys and Numeric Pad
  8693.     -----------------------------------------------
  8694.     The  following function  keys are  available  at the  local console,  while
  8695.     RBBS-PC is waiting for a call, or while  a caller is online.  If RBBS-PC is
  8696.     operated in  LOCAL mode (COM0), RBBS-PC will not  allow a non-SysOp user to
  8697.     access privileged  local  commands (i.e.  a  local user  cannot  raise  his
  8698.     security level with the + key).
  8699.  
  8700.     F1 - Return to  DOS.  This  is only  active when RBBS-PC  is waiting  for a
  8701.          call.  When  the SysOp presses F1, RBBS-PC takes the modem "off hook",
  8702.          so incoming calls will get a  busy signal.  It then creates a  file in
  8703.          the same directory  as the CALLERS file named  RBBSxF1.DEF ("x" is the
  8704.          node ID).   RBBS-PC  then returns  to DOS.   The  invoking batch  file
  8705.          should check  for the presence of the RBBSxF1.DEF  file and halt if it
  8706.          is present after running RBBS-PC.
  8707.  
  8708.     F2 - SHELL to  DOS.  RBBS-PC remains resident  but suspended in memory, the
  8709.          user (if any) remains on-line and the local  SysOp is in DOS until the
  8710.          EXIT command is  issued, which returns control back to RBBS-PC and the
  8711.          caller.
  8712.  
  8713.     F3 - Printer toggle on/off.  This changes the printer on-line status.  When
  8714.          on-line, the printer  will print each caller's name  and the filenames
  8715.          uploaded/downloaded.    It  will  also   print  all  unexpected  error
  8716.  
  8717.     SYSOP FUNCTIONS                                                   Page 16-3
  8718.  
  8719.          messages.  This  function should only be  turned ON when a  printer is
  8720.          attached to the RBBS-PC computer and is ready to print.
  8721.  
  8722.     F4 - Operator page  toggle.   This changes the  status of  "operator annoy"
  8723.          (i.e. allows the SysOp to be pageable).  Operator page time limits are
  8724.          set  by CONFIG  parameter 7.   This toggle  will override  the SysOp's
  8725.          "office hours."
  8726.  
  8727.     F5 - Tells RBBS-PC  to answer the phone  and check for an  incoming carrier
  8728.          immediately.
  8729.  
  8730.     F6-  SysOp  available.    This changes  the  status  of operator  available
  8731.          setting.  This is useful if during your "office hours" you temporarily
  8732.          don't wish to be disturbed.
  8733.  
  8734.     F7-  SysOp NEXT.  After the current caller logs  off, RBBS-PC will initiate
  8735.          a local SysOp login.
  8736.  
  8737.     F8 - Allows the SysOp to grant an on-line user temporary SysOp privileges. 
  8738.          This is a toggle on/off switch.
  8739.  
  8740.     F9 - SNOOP toggle.   This key switches SysOp  SNOOP on/off.  When  SNOOP is
  8741.          OFF, the local screen will clear.  When SNOOP is ON,  the local screen
  8742.          will be updated to reflect what the RBBS-PC user is seeing.
  8743.  
  8744.     F10- This  is the forced  chat switch.   It announces your  presence to the
  8745.          caller  and then allows both  you and the caller  to type and see each
  8746.          other's words.   The ESC key is  used to exit  Forced chat mode or  to
  8747.          answer an  "O>perator page" request.   The F10  key will not  function
  8748.          until a user logging on has reached the Main Menu.
  8749.  
  8750.     END- Informs  the current  caller that  the  SysOp needs  the system,  then
  8751.          updates his user record and politely logs him off.
  8752.  
  8753.     CTRL END
  8754.        - Logs off and  locks out the  current user that  is on and informs  the
  8755.          user that their presence is unacceptable.
  8756.  
  8757.     PgUp Displays information about the current user.  This information is only
  8758.          displayed on the local screen.  The user's screen is unaffected.
  8759.  
  8760.     PgDn Clear the local  screen (used to remove information  displayed via the
  8761.          PgUp key).
  8762.  
  8763.     LEFT ARROW
  8764.        - Subtracts one minute from the user's current session time.   Ctrl-Left
  8765.          Arrow subtracts five minutes from the user's current session time.
  8766.  
  8767.     RIGHT ARROW
  8768.        - Adds one minute to the user's current session time.   Ctrl-Right Arrow
  8769.          adds five minutes to the user's current session time.
  8770.  
  8771.     UP ARROW
  8772.        - allows the local SysOp to increment an on-line users security level by
  8773.          one.  CTRL-up-arrow or CTRL-PgUp will increase the security by 5.
  8774.  
  8775.     DOWN ARROW
  8776.  
  8777.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 16-4
  8778.  
  8779.        - allows the local SysOp to decrement an on-line users security level by
  8780.          one.  CTRL-down-arrow or CTRL-PgDn will decrease the security by 5.
  8781.  
  8782.     The SysOp can also enter commands on the command prompt line while a caller
  8783.     is on-line.   The command entered will cause the  system to respond just as
  8784.     it  would if the caller had entered the  command.  This should be used with
  8785.     caution because it could confuse a new system user -- users are often timid
  8786.     enough without  knowing that  big brother is  actually watching them!   Let
  8787.     callers page you  and then tell them  that you can assist  with commands if
  8788.     they get into trouble.
  8789.  
  8790.     16.3 Local Status Display
  8791.     -------------------------
  8792.     RBBS-PC maintains a status display on the bottom line of the local display.
  8793.     The items in the display are in the following form:
  8794.  
  8795.     Node ? AP! PG! AVL ANY LPT SYS     999 NAME CITY, STATE        UM UU UB UD
  8796.  
  8797.     Where:
  8798.          Node ?         is the node number
  8799.          AP!            Indicates this user triggered an  AutoPage (see section
  8800.                         7.11).
  8801.          PG!            This caller paged the SysOp.
  8802.          AVL            The SysOp is AVAILABLE
  8803.          ANY            The SysOp ANNOY switch is on
  8804.          LPT            The PRINTER LOG is active
  8805.          SYS            The SysOp wants a LOCAL log-in next
  8806.          999            The caller's security level
  8807.          NAME           The Caller's name
  8808.          CITY, STATE    The Caller's City and State
  8809.          UM             The MESSAGE file lock (UM=unlocked, LM=locked)
  8810.          UU             The USER file lock (UU=unlocked, LU=locked)
  8811.          UB             The USER BLOCK lock (UB=unlocked, LB=locked)
  8812.          UD             The upload dir/comment lock (UD=unlocked, LD=locked).
  8813.  
  8814.     MESSAGE AREAS WITHIN RBBS-PC                                      Page 17-1
  8815.  
  8816.     17. MESSAGE AREAS WITHIN RBBS-PC
  8817.     --------------------------------
  8818.     RBBS-PC is intended to be an open system.  As such it can have an unlimited
  8819.     number of message areas  and messages.  At the very  minimum, RBBS-PC has a
  8820.     single
  8821.  
  8822.       1) message area, a file named MESSAGES,
  8823.       2) user file, a file named USERS, and
  8824.       3) definition file, a file named RBBS-PC.DEF
  8825.  
  8826.     In addition  to this, additional  messages areas can  be created  as either
  8827.     "conferences" (i.e. areas that  use the same  RBBS-PC.DEF file as the  main
  8828.     RBBS-PC message  area) or "sub-boards" (i.e. areas that have their own .DEF
  8829.     file).
  8830.  
  8831.     17.1 "Conferences" and "Sub-boards" -- the Differences
  8832.     ------------------------------------------------------
  8833.     A "conference" or "sub-board" can be:
  8834.  
  8835.       1) "public" -- any caller can join.
  8836.       2) "public with a separate user file" --  any caller can join and RBBS-PC
  8837.          remembers  the last  message  read by  each caller  and will  notify a
  8838.          caller on logon that new mail is waiting.
  8839.       3) "semi-public" -- only callers with security levels equal to or greater
  8840.          than that specified for the conference can join.
  8841.       4) "semi-public with a separate user file" -- only callers with  security
  8842.          levels equal to or greater than that specified  for the conference can
  8843.          join and RBBS-PC  remembers the last  message read by each  caller and
  8844.          mail waiting.
  8845.       5) "private  with a  separate user  file" --  only callers who  have been
  8846.          pre-registered in the  separate user file for the  conference can join
  8847.          and RBBS-PC remembers the last message read and mail waiting.
  8848.  
  8849.     A "sub-board" is just a conference that also has a configuration definition
  8850.     file (.DEF).   Sub-boards can be public, private, or semi-private.   Access
  8851.     to a sub-board is  controlled by the configuration parameter 123 which sets
  8852.     the  minimum  security  level  required  to  enter  the  "sub-board."     A
  8853.     "sub-board" configuration  file has  the same  format as  the RBBS-PC  main
  8854.     configuration  file, and  is created  and  edited using  CONFIG.EXE.   This
  8855.     allows  a  "sub-board" to  have  its  own  unique welcome  file,  commands,
  8856.     security levels, menus,  help, bulletins, directories, and up  and download
  8857.     areas.  "Sub-boards" can share  as much or as little as desired  with other
  8858.     conferences or other "sub-boards" within the same RBBS-PC system.  The only
  8859.     things a  "sub-board" cannot change  are the primary MESSAGES  file and the
  8860.     communications parameters used by the RBBS-PC it is running under.
  8861.  
  8862.     To the  caller, a  "sub-board" appears  just like  another bulletin  board,
  8863.     accessed from a bulletin board rather than through a telephone number.
  8864.  
  8865.     Public sub-boards,  just  like  public  boards,  are  those  whose  minimum
  8866.     security to join  is not higher  than the default  security for new  users.
  8867.     "Sub-boards"  basically  allow a  single  telephone  number to  offer  very
  8868.     different types and levels of services.  Independent "sub-boards" run under
  8869.     the  same  RBBS-PC  service radically  different  types  of terminals/PC's.
  8870.     Within the same RBBS-PC, one "sub-board"  may have 80 column menus for  IBM
  8871.     and compatible  PC callers, another may have 40  column menus for Atari and
  8872.     Commodore PC users,  and still another may  have 20 column menus  for those
  8873.     using telecommunications devices  for the  deaf (TDD's).   No longer is  it
  8874.  
  8875.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 17-2
  8876.  
  8877.     necessary  to provide  three independent  telephone numbers for  three such
  8878.     different services.  All callers can dial the same number and simply switch
  8879.     over to the appropriate board.  Extra lines can be added to a roll-over and
  8880.     service all the  boards.  "Sub-boards" make it much easier and feasible for
  8881.     a SysOp to market bulletin board services by allowing hardware to resources
  8882.     to be pooled under one software "umbrella"  such as RBBS-PC and yet service
  8883.     a very  diverse set of  requirements -- much  the same way  that Compuserve
  8884.     does.  One  of the best hardware  configurations for running  a multi-board
  8885.     service  like this  is  PC-Slaves,  because  adding additional  boards  are
  8886.     extremely easy, with virtually no system degradation.
  8887.  
  8888.     "Sub-boards"  greatly  benefit "umbrella"  organizations.   For  example, a
  8889.     computer club that covers IBM  computers, Apple, Atari, and Commodore.   No
  8890.     longer does software intended for one type of computer have to get mixed in
  8891.     with  listings for  another  computer.   Each computer  can  have not  only
  8892.     separate messages, but bulletins and directories as well.
  8893.  
  8894.     "Sub-boards"  make it easy to  have different "levels"  of service based on
  8895.     security level.   Many SysOps run both a "free" and a "subscription" board.
  8896.     The  most typical arrangement for this is to  have the free board be on the
  8897.     bottom of a telephone  roll-over and the pay  board be on the top,  and for
  8898.     the top board to require a higher security level.  Non-subscribers who call
  8899.     the pay board number get "kicked" off the board.  "Sub-boards"  on the same
  8900.     telephone line would give both paying and non-paying callers equal  access,
  8901.     if desired.   Another example  is that callers  with enhanced security  can
  8902.     join a  sub-board to  get access  to even  more downloads.   Or,  executive
  8903.     officers for an organization can have access  to a "sub-board" that has not
  8904.     only special messages but special bulletins and files.
  8905.  
  8906.     The naming conventions of the files associated with a "conference" or "sub-
  8907.     board", for example called CLONES, would be:
  8908.  
  8909.     CLONESM.DEF    --- the message file
  8910.     CLONESU.DEF    --- the user file
  8911.     CLONESW.DEF    --- the "welcome" file (for conferences only)
  8912.     CLONESC.DEF    --- the configuration file (for "sub-boards" only)
  8913.  
  8914.     Using the configuration .DEF file associated with a "sub-board" allows each
  8915.     SysOp  to  make the  "sub-boards" as  unique  or similar  as desired.   Two
  8916.     security levels are very important.   The minimum security to log on to the
  8917.     board determines who  can join the "sub-board".   And the  default security
  8918.     level is what newly added callers are assigned.
  8919.  
  8920.     A  "sub-board", like any  conference (public, semi-private,  or private) is
  8921.     closed to  all  who have  insufficient  security.   To  make a  "sub-board"
  8922.     completely  private,  simply  set the  minimum  CONFIG  parameter  123 (the
  8923.     minimum security level  a new user  needs to logon)  to be higher  than any
  8924.     normal caller would  have.  The only way  for callers to be able  to join a
  8925.     completely private "sub-board", like a private conference is for the  SysOp
  8926.     to have added them previously to the users file associated with  that "sub-
  8927.     board".
  8928.  
  8929.     The security  level a caller gets  when auto-added is the  default security
  8930.     level for the "sub-board" and not the current security level of the caller.
  8931.     This is to  prevent special privileges that a caller has in one "sub-board"
  8932.     from automatically  propagating into  other "sub-boards".   For  example, a
  8933.     caller with  SysOp privileges in one "sub-board" who joins another does not
  8934.     become receive SysOp privileges in the other.
  8935.  
  8936.     MESSAGE AREAS WITHIN RBBS-PC                                      Page 17-3
  8937.  
  8938.     The security level used to determine what "sub-boards" a caller can join is
  8939.     not the current security level  but the original security level  the caller
  8940.     had on the main board.
  8941.  
  8942.     RBBS-PC detects if the bulletins in the "sub-board" are the same  as in the
  8943.     main  RBBS-PC system  and does not  re-display them  when a  "sub-board" is
  8944.     joined.
  8945.  
  8946.     "Sub-boards",  public  conferences, semi-private  conferences,  and private
  8947.     conferences can all co-exist within the same RBBS-PC system.  Sub-boards in
  8948.     turn can  have sub-boards in  them, as  well as  public, semi-private,  and
  8949.     private conferences.
  8950.  
  8951.     The  primary  disadvantage  of  "conferences"  or  "sub-boards"  that  have
  8952.     separate user files associated with them  is the additional disk space that
  8953.     is required for  the users file.  RBBS-PC's CONFIG parameter 290 allows the
  8954.     SysOp to let a user  on as a "guest" if there  is no more room left in  the
  8955.     users  file  for  the  "sub-board",  semi-private  conference,  or  private
  8956.     conference.  Not  having a user record  defeats one of the  main mechanisms
  8957.     for remembering  a user's preferences, of  course, but the SysOp  can start
  8958.     with a smaller  users file  and expand  later without the  risk of  denying
  8959.     callers access.
  8960.  
  8961.     Obviously, "sub-boards" take more time to set up and maintain.  While it is
  8962.     nice to be able to  have parts of RBBS-PC vary radically  from one another,
  8963.     every one  that does vary  is another item  to create and  maintain.  "Sub-
  8964.     boards"  can  multiply  the  work  necessary,  for  example,  to   maintain
  8965.     bulletins.  There  are more users and  message files to oversee.   However,
  8966.     Kim Wells MU-EDIT is  an invaluable tool for managing  multiple message and
  8967.     user files.  Give Kim's RBBS-PC call  at (301) 599-7651/7652 and get a copy
  8968.     of MU-EDIT.
  8969.  
  8970.     17.2 Making a "Conference" or "Sub-board" Successful
  8971.     ----------------------------------------------------
  8972.     To make a "conference" or "sub-board" successful several guidelines should
  8973.     be followed rather rigorously:
  8974.  
  8975.       1) Establish a  "conference" or  "sub-board" chairman  (i.e. a  SysOp) to
  8976.          manage the conference. The SysOp's job is to add new users, delete old
  8977.          ones, make sure that  the subject and/or the agenda  of the conference
  8978.          is adhered  to by  killing messages that  are inappropriate.   This is
  8979.          best accomplished by having a separate user file for each "conference"
  8980.          or "sub-board" in which  the caller only has SysOp privileges  when in
  8981.          the specific "conference" or "sub-board."
  8982.  
  8983.       2) Establish an "agenda" or list of subject areas for the "conference" or
  8984.          "sub-board."   One of these should be about  new subject areas.  These
  8985.          areas  should  be VERY  narrow  in scope.    The essence  of  any good
  8986.          conference is keeping it focused.   Everyone has been in at least  one
  8987.          meeting/conference  that  was a  waste  of  time  because whoever  was
  8988.          running  the meeting/conference did not  keep the dialogue centered on
  8989.          the subject or agenda.
  8990.  
  8991.       3) If a continuity of dialogue is to be achieved, it is advisable to keep
  8992.          the conference "focused" -- either by keeping the number of conference
  8993.          members  limited,  or  by  keeping the  subject  matter  very  narrow.
  8994.          Another interesting thing about  "private" conferences and  sub-boards
  8995.          as  implemented within  RBBS-PC is  that  they are  not "public"  and,
  8996.  
  8997.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 17-4
  8998.  
  8999.          therefore, are  even more  protected by the  first, fourth,  and fifth
  9000.          amendments.
  9001.  
  9002.     17.3 Setting Up a "Conference" or "Sub-board"
  9003.     ---------------------------------------------
  9004.     The SysOp sets up a "conference" using  the CONFIG utility parameter 167 to
  9005.     pre-format up to two files  -- one for the  messages to be associated  with
  9006.     the conference and  one for the users  to be associated with  a conference.
  9007.     The name  of a "conference"  can be from one  to seven characters  that are
  9008.     valid for  a file  name.   RBBS-PC  will add  "M"  (for the  messages  file
  9009.     associated with  the conference) or  a "U" (for  the users  file associated
  9010.     with  the  conference) to  the  filename.   The  SysOp can  then  enter the
  9011.     conference member's names in the  conference USERS file by using  the SysOp
  9012.     function 5.   The SysOp can "join"  any conference and  need not be in  any
  9013.     particular conference's USERS file.
  9014.  
  9015.     Like "conferences", RBBS-PC supports an unlimited number  of  "sub-boards".
  9016.     "Sub-boards" are  equally easy  to create.   If CLONES  were the name  of a
  9017.     public conference  (the CLONES message  file CLONESM.DEF exists),  all that
  9018.     would  have to be done to make CLONES a "sub-board" would be  to run CONFIG
  9019.     to
  9020.       1) create  a separate user's file, CLONESU.DEF,  for this formerly public
  9021.          conference (if didn't already have a users file),
  9022.       2) create a   "sub-board"  configuration file for  the CLONES "sub-board"
  9023.          (a file whose name would be ATARIC.DEF).
  9024.  
  9025.     The easiest way to make  a "sub-board" configuration file is to use the DOS
  9026.     copy command, starting with another configuration file as a model (e.g. the
  9027.     one for the main  board).  To  continue with the  CLONES example you  would
  9028.     issue the DOS command:
  9029.  
  9030.          COPY RBBS-PC.DEF  CLONESC.DEF
  9031.  
  9032.     Then invoke CONFIG.EXE to edit that file, using the form
  9033.  
  9034.          CONFIG CLONESC.DEF
  9035.  
  9036.     WARNING!!   When you create a .DEF file by copying another one  as a model,
  9037.     be sure to run CONFIG against this new file and change the message and user
  9038.     file names!  Otherwise your sub-board will share the user file with another
  9039.     message  base.  Here  change the message  file name to  CLONESM.DEF and the
  9040.     user file name to CLONESU.DEF.   The users file name can be  anything for a
  9041.     "sub-board"  but  the extension  .DEF  is  a  good idea  because  RBBS-PC's
  9042.     security system  will not let  any file with that  extension be downloaded.
  9043.     Remember, you do not want to allow callers to download any users file!  You
  9044.     get  an  extra  layer of  protection  if  you put  the  message,  user, and
  9045.     configuration files in an area not available for downloading.
  9046.  
  9047.     17.4 Conference File Locations
  9048.     ------------------------------
  9049.     The files that make up a conference or a sub-board can be placed in several
  9050.     locations.  Especially on multi-node BBSs, care must be taken when locating
  9051.     conference files.
  9052.  
  9053.     If a  sub-board  CONFIG files  exists, it  must either  be  in the  RBBS-PC
  9054.     default  directory, or  in the  directory  where the  MAIN message  file is
  9055.     located.  NOTE:  If a  caller joins  a sub-board from  within another  sub-
  9056.     board, the MAIN  message file location would  be the location of  the first
  9057.  
  9058.     MESSAGE AREAS WITHIN RBBS-PC                                      Page 17-5
  9059.  
  9060.     sub-board.  Once a sub-board CONFIG file is found, all other file locations
  9061.     will be set by the CONFIG file parameters.
  9062.  
  9063.     If there  is no  CONFIG file, RBBS-PC  will next look  for a  MESSAGE file.
  9064.     First, the subdirectory where the current MAIN message file is located will
  9065.     be searched, and  then the directory where the  conference description file
  9066.     is located (see CONFIG parameter 74) will be searched.
  9067.  
  9068.     To find the USER  file, RBBS-PC first looks where the  current message file
  9069.     is located, and then where the current user file is located.
  9070.  
  9071.     This may seem complex, and for most SysOps, placing all CONFIG, MESSAGE and
  9072.     USER files  in the default subdirectory  is adequate.   CONFIG will create,
  9073.     and locate conference and  sub-board files properly  when parameter 167  is
  9074.     selected.
  9075.  
  9076.     BBS's that  have a  large number of  conferences can  easily find  that the
  9077.     files are collectively too large to put on a single drive.   It is possible
  9078.     to relocate  the users and  messages files of  subboards on other  drives. 
  9079.     However,  if you simply  move the user  and message files,  RBBS-PC will be
  9080.     unable to detect that the  subboard exists.    For a  relocated subboard to
  9081.     be found, you must
  9082.  
  9083.          put a small,  dummy message file  in the same  drive/path as the  main
  9084.          message file.
  9085.  
  9086.     E.g. for subboard  "DCONF" to be found,  put a file "DCONFM.DEF"  where the
  9087.     main message file is.    This dummy file can have any size  and not need be
  9088.     in the  format of RBBS message files.    Then edit the subboard DEF file to
  9089.     reflect the new  location of the user  and message files.   Do NOT relocate
  9090.     the DEF file for the subboard.
  9091.  
  9092.     17.5 Establishing a "Conference" or "Sub-board" SysOp
  9093.     -----------------------------------------------------
  9094.     RBBS-PC has  one of the more  flexible and powerful  systems for supporting
  9095.     "assistant SysOps"  or "conference  moderators".  A  moderator need  not be
  9096.     made a full SysOp, and whatever security a moderator has, does not transfer
  9097.     to the rest of the board.   Moderators need the following basic functions:
  9098.  
  9099.       1) read and kill all messages,
  9100.       2) add and modify users, and
  9101.       3) forward mail to a better person to answer it.
  9102.  
  9103.     The  ability to do  user edits is  controlled by the  security specified by
  9104.     SysOp function 5.   Incidentally, moderators cannot edit  user records with
  9105.     security higher than theirs.  The ability to read  and kill all messages is
  9106.     controlled  by a  security level  specified  in CONFIG.   RBBS-PC  supports
  9107.     having separate  user  files for  every  message area,  so  that  moderator
  9108.     privileges in one area do not necessarily transfer to others.
  9109.  
  9110.     To set up a conference or sub-board moderator,  the SysOp need only
  9111.  
  9112.       1) "Join" the conference or sub-board.
  9113.       2) Use SysOp function 5 to  enter the name of the user who is  to  be the
  9114.          conference chairperson into the conference's USERS file.
  9115.       3) Set  that users security  level in the  conference's USERS file   to a
  9116.          security level that can  issue the SysOp function 5.   This will allow
  9117.          the conference chairman to add users.
  9118.  
  9119.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 17-6
  9120.  
  9121.       4) Set the minimum security to read and kill all messages to the level of
  9122.          the moderator.
  9123.       5) Set CONFIG  parameter 140  to the  security level  of the moderator.  
  9124.          This will allow the moderator to forward everyone's mail.
  9125.  
  9126.     Any  registered user  can join a  "public" conference  or sub-board.   When
  9127.     someone issues the J)oin  command to join a conference  or sub-board, their
  9128.     standard  security level is  temporarily superseded  by the  security level
  9129.     associated  with their  user name within  that conference's  or sub-board's
  9130.     USERS file if it is a "private" conference.
  9131.  
  9132.     For example, a  normal user  might be  given the security  required to  add
  9133.     users to a particular conference or sub-board USERS file since they are the
  9134.     SysOp of that message area.   When a user joins the conference or sub-board
  9135.     of which they are chairman, their normal security is bumped up so that they
  9136.     can add  users to the USERS file of that particular message area.  When the
  9137.     same  user exits  that message area,  their security  level is  returned to
  9138.     normal.  If they  should subsequently join another message  area where they
  9139.     are not chairman, they  would be unable to add users to that message area's
  9140.     USERS file.  Other than  a message area's SysOp,  none of the message  area
  9141.     members should be given any higher security  than they otherwise enjoy as a
  9142.     regular RBBS-PC user.
  9143.  
  9144.     17.6 Carbon Copy
  9145.     ----------------
  9146.     RBBS-PC supports a "carbon copy" function for messages and personal uploads
  9147.     that lets the caller  send them to one or more recipients.  Messages can be
  9148.     addressed  to multiple  recipients.    Recipients can  be specified  in two
  9149.     ways:
  9150.  
  9151.     o   individually, one at a time, in response to the "Who to" prompt.
  9152.  
  9153.     o   as a group, via a "distribution list".
  9154.  
  9155.     Distribution  lists are  stored in  a  particular drive  path specified  in
  9156.     configuration parameter 171.   The distribution list to be used is selected
  9157.     using option  "D" in  response to  who to.     Then the  caller can  name a
  9158.     particular distribution list  by name.    The name will have  the extension
  9159.     ".LST" added to  and be looked for in the distribution  drive/path.  If the
  9160.     caller is  in novice  mode or  asks for  help, the  help file specified  by
  9161.     configuration parameter 170 will be displayed.    This help file  basically
  9162.     should be a menu  of distribution lists.    The  names in the  distribution
  9163.     list should be one to a line.
  9164.  
  9165.     WARNING:   multiple recipients  change the structure  of the  message base.
  9166.     Message utilities may not work properly  with this modification.   Do  not,
  9167.     for example, use MU-PURGE.
  9168.  
  9169.     The ability to have multiple recipients in a message is controlled
  9170.     by parameter 160.   The default is not to allow carbon copy.   If
  9171.     you are using NetMail or external message utilities, you should set
  9172.     the message base to disallow multiple recipients.
  9173.  
  9174.     Configuration parameter 159 is the minimum security to do a
  9175.     personal upload.  By setting it low or high you can suitably restrict
  9176.     who can upload files directly for another caller.   Calls will be
  9177.     notified on logon whether they have a personal upload waiting for
  9178.     them.
  9179.  
  9180.     MESSAGE AREAS WITHIN RBBS-PC                                      Page 17-7
  9181.  
  9182.     RBBS-PC works the following way with messages with multiple headers:
  9183.  
  9184.     o    the individual header  is removed in a purge  when it is marked as    
  9185.          killed and the count of the number of headers is reduced by one.
  9186.  
  9187.     o    the body of a message  is not removed in a purge until all  headers   
  9188.          are killed.
  9189.  
  9190.     o    if any  header is to the person  reading, that header controls the    
  9191.          access of the  person.    If that header  is killed, for example,  the
  9192.          person can no  longer read the message  at all, unless the  person has
  9193.          sufficient security to read/kill all mail.    If the killed message is
  9194.          public,  the person  can read the  message but  it will be  treated as
  9195.          someone else's mail.
  9196.  
  9197.     o    when the caller says to kill a message, the caller can kill at most   
  9198.          the controlling header,  unless the caller can read/kill  all mail, in
  9199.          which case the caller is individually asked to confirm the killing    
  9200.          of each header after being told the message number and who it is to   
  9201.          (though it would certainly be permissible to give the option to kill  
  9202.          all of them at once).
  9203.         
  9204.     o    "et al."  is added to the display of the message header, at the end of
  9205.          who the message is  to, when the message is to more  than one person. 
  9206.          The  "et al." is NOT stored  in the message header.    Each person the
  9207.          message is to sees the "et al." after their own name.  "et  al."  This
  9208.          Latin for "and others".
  9209.  
  9210.     17.7 Linked Message Bases
  9211.     -------------------------
  9212.     RBBS supports Linked  message bases.   The  concept is what when  doing any
  9213.     kind of message read forward or backwards,  RBBS will continue that read to
  9214.     the linked  message base.      The gives  the caller  the ability  to group
  9215.     together message bases  so that message operations  can be "global".    The
  9216.     chief advantage to the caller is what  one read operation can sweep all the
  9217.     mail in all  the conferences, without  having to recall  where mail is  and
  9218.     join the conferences. 
  9219.  
  9220.     The  default  in  a  conference view  on  logon  is  to  link together  all
  9221.     conferences that the caller belongs  to that have any new mail.  When doing
  9222.     an  interactive conference  view, the  caller has  the option to  L)ink and
  9223.     D)elink individual conferences.    When doing  a join, the caller  can link
  9224.     all conferences with  any new mail (S)ince  last on) or all  conferences in
  9225.     which the caller has new
  9226.     personal mail (P)ers).    Thus "J  S" or "J P" are  options.   The  join is
  9227.     immediately followed by  a join to the first linked conference.  Join N)ext
  9228.     also is the option to join to the next linked conference.
  9229.  
  9230.     When  conferences are linked,  any kind of  a message  read that terminates
  9231.     with a forward or backwards read  results in the option to continue to  the
  9232.     linked conference,  provided the  read "global" option  is selected.   Thus
  9233.     when "2"  and "sysop" are the  linked conferences, an  "r s g" in  the main
  9234.     message base  will result in  the prompt  "Continue to linked  conference 2
  9235.     ([Y],N)?"    "r 30+ g" will also result in the same  query, as will "r l g"
  9236.     or "r 100-  g".   However, "r s  103 109 g"  will not  because it does  not
  9237.     terminate  with a forward  read.  The  linked conference will  be read just
  9238.     like the original read.   Thus  a read based on a string will  continue, as
  9239.     will a read of "my" mail.   The only difference is that a forward read will
  9240.  
  9241.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 17-8
  9242.  
  9243.     continue as a  read "since last message" and a read backwards will continue
  9244.     as a read from "last message backwards".
  9245.  
  9246.     The  caller  can  also have  RBBS  read  global without  having  to  do any
  9247.     confirmation of  the  automatic join  by  selecting non-stop  in  the  read
  9248.     command, such as "r s g c" (read since global continuous). 
  9249.  
  9250.     CALLERS AUTOMATIC NOTIFICATIONS OF MAIL WAITING                   Page 18-1
  9251.  
  9252.     18. CALLERS AUTOMATIC NOTIFICATIONS OF MAIL/FILE WAITING
  9253.     --------------------------------------------------------
  9254.     RBBS-PC has the ability  to notify callers about mail or  files waiting for
  9255.     them when they log on.  File  notification means that the caller received a
  9256.     personal  upload.    Personal uploads  are accessed  using either  the file
  9257.     L)ist command,  P)ersonal option,  or the  file P)ersonal download,  option
  9258.     list.  Callers can be notified for any pair of user/message files
  9259.  
  9260.          (a) how many new messages were left,
  9261.          (b) whether any new messages are to them personally, and
  9262.          (c) whether any new uploads are to them personally.
  9263.  
  9264.     RBBS-PC can be  configured such that the messages  individually reported by
  9265.     number  to the caller when  the caller logs on  are all messages (i.e. both
  9266.     old  and new, or just new messages  since the caller last logged  on, or   
  9267.     no messages  at all via CONFIG parameter 19.  Of course, RBBS-PC allows the
  9268.     SysOp to determine if callers are reminded of the mail they have left.
  9269.  
  9270.     In a file specified in CONFIG  parameter 93 (the default is  CONFMAIL.DEF),
  9271.     the SysOp  can  list  the  message/user  file  combinations  to  check  for
  9272.     mail/file waiting in the format
  9273.  
  9274.                <user file>,<message file>
  9275.  
  9276.     where these are related conference file names.  If it is assumed that RBBS-
  9277.     PC is running in  a DOS subdirectory off of the main  root directory of the
  9278.     "C:" drive and  that there are two  conferences, RBBS-PC and BETA,  then an
  9279.     example of the contents of the CONFMAIL.DEF file is:
  9280.  
  9281.                 C:\RBBS\BETAU.DEF,C:\RBBS\BETAM.DEF
  9282.                 C:\RBBS\RBBS-PCU.DEF,C:\RBBS\RBBS-PCM.DEF
  9283.  
  9284.     The names are processed exactly as typed, so inclusion of the drive/path is
  9285.     necessary.   The SysOp  controls what conferences  get checked for  mail by
  9286.     listing these  file pairs.   Conferences  not listed will  not be  checked.
  9287.     Callers  will get a report only for conferences  that they are a member of.
  9288.     Two items of information are reported:
  9289.  
  9290.          number of new messages since last in the conference,
  9291.          whether any new messages are addressed to the caller, and
  9292.          whether any new uploads are addressed to the caller.
  9293.  
  9294.     The name  used in RBBS-PC for the main message  base is taken from the file
  9295.     name for the message base.  As with conferences - if the prefix of the user
  9296.     file  ends  with  "M", the  name  will  be composed  of  all  but  the last
  9297.     character.  If the name is "MESSAGES", it will be called "MAIN".  Otherwise
  9298.     the main message base will be called the full prefix.
  9299.  
  9300.     The main message base and  users file can be included in the  list to scan.
  9301.     You may want  to coordinate the USERS  and MESSAGES file names in  the same
  9302.     fashion that conference user files and message file names are  coordinated.
  9303.     If the main  message base is to be  known as TOP then call  it TOPM.DEF and
  9304.     call the  users TOPU.DEF.  RBBS-PC will work  just as well with the default
  9305.     names USERS and MESSAGES, and will call the main message base MAIN.
  9306.  
  9307.     There are 3 philosophies that can be implemented on message reporting using
  9308.     the CONFIG parameter 19:
  9309.  
  9310.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 18-2
  9311.  
  9312.       1) Report everything.
  9313.       2) Make a fast minimal report.
  9314.       3) Make an optimum intermediate report.
  9315.  
  9316.     Reporting everything  means reminding  callers of messages  they left,  and
  9317.     give the message numbers of old and  new mail.  To do this it  is necessary
  9318.     to set configuration parameters to remind callers of old mail and to report
  9319.     ALL messages to caller.  Also place "sub-boards" and private conferences in
  9320.     the mail scan list of CONFMAIL.DEF.
  9321.  
  9322.     Making a fast minimal report means that callers will not be reminded of old
  9323.     messages, specific message  numbers will not be listed,  only the number of
  9324.     new messages and whether any are personal will be reported.  This option is
  9325.     for when you want people to get the caller to the command level  as fast as
  9326.     possible.  For example, the main message base is not even used.  To do this
  9327.     set configuration  parameters  to NOT  remind callers  of old  mail and  to
  9328.     report NO messages to  caller.  Put the main message base  as well as "sub-
  9329.     boards" and private conferences in the mail scan list of CONFMAIL.DEF.
  9330.  
  9331.     Providing an optimum intermediate report means reporting individual message
  9332.     numbers only for the new mail as well as # of new messages (and whether any
  9333.     personal).  The best way to implement this is to set the level of reporting
  9334.     messages to the caller to New Only and to put all  "sub-boards" and private
  9335.     conferences in the mail scan list of CONFMAIL.DEF.  Set CONFIG parameter 21
  9336.     to NOT remind callers of old mail.
  9337.  
  9338.     RBBS-PC QUESTIONNAIRE FACILITIES                                  Page 19-1
  9339.  
  9340.     19. RBBS-PC QUESTIONNAIRE FACILITIES
  9341.     ------------------------------------
  9342.     RBBS-PC  provides  a script-driven  questionnaire  facility.   RBBS-PC will
  9343.     process a questionnaire when a NEW  caller logs in, before any caller  logs
  9344.     off, or the user can select a questionnaire from a menu.  To  ask new users
  9345.     questions  the  file named  in  CONFIG parameter  84  must exist.    To ask
  9346.     questions  of  users  when they  say  G)oodbye  the  file named  in  CONFIG
  9347.     parameter 85 must exist.  Questionnaires can also raise or lower the user's
  9348.     security level based on  his/her responses.   Answers to the  questionnaire
  9349.     are appended to a file specified in each questionnaire script.
  9350.  
  9351.     RBBS-PC will only activate  the corresponding script  files if they  exist,
  9352.     otherwise the functions  are bypassed.   A  questionnaire can theoretically
  9353.     have up to  256 lines  in it,  but, depending on  the length  of the  lines
  9354.     comprising  it,  the  pratical  limit  is  about  240  lines.        Longer
  9355.     questionnaires require the use of "chaining".
  9356.  
  9357.     The questionnaire script processor supports:
  9358.  
  9359.        - Branch to labels (forward and back branching)
  9360.        - Display lines
  9361.        - Display line and get response
  9362.        - Response validation (Multiple choice)
  9363.        - Numeric validation
  9364.        - Raising and lowering user security level
  9365.        - Aborting the questionnaire
  9366.        - Chaining to another questionnaire
  9367.        - Invoke a macro from within a questionnaire
  9368.        - "Turbo" key can be turned on from within a questionnaire
  9369.  
  9370.     The first line  in every script file must  contain the file name  where the
  9371.     responses to the script will be appended, and the maximum security  level a
  9372.     user can  be  raised to.   The  rest of  each script  file contains  script
  9373.     commands.   Script commands are 1 character in length and must be in column
  9374.     1 of each script line.
  9375.  
  9376.     Following is a list and description of valid script commands:
  9377.  
  9378.       :  A colon indicates a label command
  9379.       *  An asterisk indicates a display data command
  9380.       ?  A question mark indicates a display and wait for response command
  9381.       =  An equal sign indicates a multiple choice branch command
  9382.       >  A greater than symbol indicates a goto command
  9383.       +  A plus sign indicates a raise security level command
  9384.       -  A minus sign indicates a lower security level command
  9385.       @  An "at" sign means to abort questionnaire and do not write results
  9386.       &  An ampersand means to establish a questionnaire chain
  9387.       T  The letter "T" turns on the "turbo" key mode
  9388.       M  The letter "M" executes a "macro"
  9389.       >  Assigns a value to a work variable
  9390.  
  9391.     CONFIG parameter 94  controls the maximum number of work variables that can
  9392.     be handled by questionnaires.
  9393.  
  9394.     RBBS-PC  questionnaires   even   support   "graphics"   versions   of   the
  9395.     questionnaires.   Graphics versions use  the standard convention  of ending
  9396.     the filename  with "C" for color graphics and "G"  for ansi graphics.  E.g.
  9397.     HLPRBBSC.DEF and HLPRBBSG.DEF are graphics versions of HLPRBBS.DEF.
  9398.  
  9399.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 19-2
  9400.  
  9401.     19.1 Branching to Labels 
  9402.     ------------------------
  9403.     :  Colon (Label command)
  9404.        This command is used to provide labels that  can be branched to from =  
  9405.     and > commands.
  9406.  
  9407.               :QUESTION1
  9408.  
  9409.     Numeric labels  are not recommended because  they are easy to  confuse with
  9410.     work  variables.   SmartText variables  will  be interpreted  as such,  eg.
  9411.     ":-{FN" will  substitute  the  user's  first  name.    SmartText  and  Work
  9412.     Variables are dynamically  substituted into all  questionnaire lines.   For
  9413.     example, 
  9414.  
  9415.               >-.[8].-
  9416.  
  9417.     will substitute the  value of work variable  8 for "[8]", so that  if 8 has
  9418.     "edit" as its value, it will go to the  label "-.edit.-".
  9419.  
  9420.     The ability  to get and substitute  values, and to have  graphics versions,
  9421.     means that questionnaires can  support many of the features of  full screen
  9422.     editing, including transmitting a template, then overlaying values into the
  9423.     template.  An example that shows the power of questionnaires is
  9424.  
  9425.               ?29Change what field (1,2,...20)
  9426.               ?[29]Change field [29]. from [[29]] to
  9427.  
  9428.     This asks which field to change and stores answer in work variable 29 (i.e.
  9429.     value of work  variable 29 is "7").    The second question  then stores the
  9430.     answer in  the value  of work variable  29, displays the  name of  the work
  9431.     field being changed,  and then displays the old value of the work variable.
  9432.     Suppose that the  value of work variable 7  is "Yes".   Then  the series of
  9433.     substitutions RBBS-PC makes into the second line before executing it are:
  9434.  
  9435.               ?7Change field [29]. from [[29]] to
  9436.               ?7Change field 7. from [[29]] to
  9437.               ?7Change field 7. from [7] to
  9438.               ?7Change field 7. from Yes to
  9439.  
  9440.     19.2 Display Data Command
  9441.     -------------------------
  9442.     *  Asterisk (Display data command)
  9443.        This command  is used  to send data  to the user.   SmartText  and Macro
  9444.     commands are interpreted before display (see section 7.8).  "*/FL" will not
  9445.     display the  "/FL" because it is  interpreted as a  macro command.   If you
  9446.     want to work variables to  overlay a display template, keeping  it's length
  9447.     (e.g. for columnar display),  put "/FL" after the "*".  E.g.  if variable 1
  9448.     has value "12345" and 2 has "abcdef", then
  9449.  
  9450.               */FL.[1]....[2]......
  9451.  
  9452.          will display ".12345..abcdef...", whereas
  9453.  
  9454.               *.[1]....[2]......
  9455.  
  9456.          will display ".12345....abcdef......".
  9457.  
  9458.     RBBS-PC QUESTIONNAIRE FACILITIES                                  Page 19-3
  9459.  
  9460.     One of the more useful capabilities of macros that questionnaires can  make
  9461.     use of is the ability to append data to any work file, where work variables
  9462.     are merged into a form.   This allows the questionnaire data to be saved in
  9463.     virtually any format desired.
  9464.  
  9465.     The other extremely useful macro capability that questionnaires can utilize
  9466.     is the ability to retrieve data from a file into a form, in effect adding a
  9467.     data based file retrieval capability.
  9468.  
  9469.     19.3 Display Data And Get Response
  9470.     ----------------------------------
  9471.     ?  Question mark (Display data and get response)
  9472.        This command is used to send data to the user and wait for a response.  
  9473.      The user will be required to input a response.  The ENTER key  alone is an
  9474.     invalid response.  No other checks are made.
  9475.  
  9476.               ?DO YOU OWN YOUR OWN PC? (Y/N)
  9477.  
  9478.     The prompt command accepts an optional  number which is interpreted as  the
  9479.     number of the Work Variable to store the answer in.  For example, "
  9480.  
  9481.               ?8Enter Dept
  9482.  
  9483.     will store the answer not only  in the regular way for a questionnaire  but
  9484.     also in work variable 8.
  9485.  
  9486.     19.4 Multiple Choice Response
  9487.     -----------------------------
  9488.     =  Equal sign (Response validation - Multiple choice)
  9489.        This  command  is  used  in  conjunction with  the  ?  command  and must
  9490.     immediately follow the ? command for which it applies.  This command allows
  9491.     for checking/editing  of  single character  responses  to the  preceding  ?
  9492.     command  and allows  branch  logic to  be exercised  based on  the response
  9493.     given.  Multiple  = commands must  be coded on the  same line.   The format
  9494.     follows:
  9495.  
  9496.        =AXXXXXXXXX=BYYYYYYYYY= ZZZZZZZZZZ
  9497.  
  9498.       =  Indicates that a single character comparison value follows
  9499.       A  Is the comparison value
  9500.       X  Is the label to branch to if the response is "A"
  9501.       =  Indicates that a single character comparison value follows
  9502.       B  Is the comparison value
  9503.       Y  Is the label to branch to if the response is "B"
  9504.       =  Indicates that  a single  character comparison  value follows  (SPACE)
  9505.          This is  a special comparison  value that is  always used as  the last
  9506.          comparison value and means "INVALID" response given
  9507.       Z  Is the label to branch to if an invalid response is given
  9508.  
  9509.        Maximum line length is 255 characters and the last = on the line "MUST"
  9510.        have a comparison value of " " (SPACE).
  9511.  
  9512.               :QUESTION1
  9513.               ?Do you run a BBS system.  (Y/N)
  9514.               =YQUESTION2=NQUESTION2= QUESTION1E
  9515.               :QUESTION1E
  9516.               *Please respond Y or N
  9517.               >QUESTION1
  9518.  
  9519.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 19-4
  9520.  
  9521.               :QUESTION2
  9522.  
  9523.        There is  an additional format for the = command, where the comparison  
  9524.     value  of # (Pound sign) is  used.  This is  used as a numeric  check and  
  9525.     encompasses 0-9,  (), - and space.   This format  requires two entries.    
  9526.     The first is  to test for numerics and the second is the invalid response  
  9527.     branch label (e.g. "=#QUESTION3= QUESTION2E").
  9528.  
  9529.     19.5 Forward And Backward Branching
  9530.     -----------------------------------
  9531.     >  Greater than sign (Forward and backward branching)
  9532.        This command is used  to branch to specific  labels within the script   
  9533.     file.
  9534.  
  9535.               >QUESTION4
  9536.  
  9537.     19.6 Raise/Lower User's Security Level
  9538.     --------------------------------
  9539.     +  Plus sign (Raise user security level)
  9540.  
  9541.     This command will add  the value in columns  2-6 to the default security   
  9542.     level given new users or the current security level of old users.  
  9543.  
  9544.               +5
  9545.  
  9546.     -  Minus sign (Lower user security level)
  9547.  
  9548.     This  command will  subtract  the value  in columns  2-6 to  the default   
  9549.     security given new users or the current security level of old users.
  9550.  
  9551.               -1
  9552.  
  9553.     19.7 Abort Questionnaire
  9554.     ------------------------
  9555.     @  At sign (Abort questionnaire)
  9556.  
  9557.     This command will terminate the questionnaire and NOT write the response
  9558.     to the output file as in the following example.
  9559.  
  9560.               :QUESTION1
  9561.               ?Have you answered the questionnaire before.  (Y/N)
  9562.               =YQUESTION2=NQUESTION3= QUESTION1E
  9563.               :QUESTION1E
  9564.               *Please respond Y or N
  9565.               >QUESTION1
  9566.               :QUESTION2
  9567.               @
  9568.               :QUESTION3
  9569.  
  9570.     19.8 Chain Questionnaire
  9571.     ------------------------
  9572.     & Ampersand (Chain questionnaire)
  9573.  
  9574.     This command will establish the next questionnaire  in the chain.  The file
  9575.     named  in columns  2-80  will be  used  as a  continuation  to the  current
  9576.     questionnaire when the current questionnaire reaches its last line.
  9577.     i.e.   &L:\RBBS\QUESCONT.DEF
  9578.  
  9579.     RBBS-PC QUESTIONNAIRE FACILITIES                                  Page 19-5
  9580.  
  9581.     19.9 Turbo Keys
  9582.     ---------------
  9583.     T Turbo Key
  9584.  
  9585.     This is used to turn on Turbo Key for a prompt where a  single keystroke is
  9586.     expected.  TurboKey  causes the next  keystroke to be  taken as the  answer
  9587.     immediately without having to press Enter, if the caller has TurboKey on.
  9588.  
  9589.     19.10 Macro Execute
  9590.     -------------------
  9591.     M Macro Execute
  9592.  
  9593.     This command is  used to execute a specified macro named after the command,
  9594.     e.g. "M  C:\RBBS\FIZ.IMC".   Control returns to  the questionnaire  after a
  9595.     macro is executed.   One of  the most important capabilities macros add  to
  9596.     questionnaires  is the  ability to append  data to  any file in  any format
  9597.     desired.   Hence the data in questionnaires can be saved where ever desired
  9598.     in whatever format  desired.  If a macro saves the data and you do not want
  9599.     the normal  output  on completion  of  the questionnaire,  just  abort  the
  9600.     questionnaire at the  end.  Macros also  have the ability to  retrieve data
  9601.     from files and then display on the screen.
  9602.  
  9603.     19.11 Assign Value
  9604.     ------------------
  9605.     < Macro Assign
  9606.  
  9607.     This command  assigns a value  to a work  variable.   For example, "<2  XT"
  9608.     assigns value "XT" to work variable 2. 
  9609.  
  9610.     RBBS-PC's STANDARD INTERFACE FOR PROTOCOL DRIVERS                 Page 20-1
  9611.  
  9612.     20. RBBS-PC's STANDARD INTERFACE FOR PROTOCOL DRIVERS
  9613.     -----------------------------------------------------
  9614.     RBBS-PC  includes  a  flexible  interface  for  implementing  file-transfer
  9615.     protocols.  A  "protocol"  for the  exchange  of  files is  just  a  set of
  9616.     cooperative conventions  that allow  two different  computer's software  to
  9617.     transfer  files  between  themselves.   RBBS-PC  supports  four "protocols"
  9618.     within its own BASIC source code -- ASCII, Xmodem (checksum), Xmodem (CRC),
  9619.     and 1K-Xmodem.  These are totally configurable by the SysOp when setting up
  9620.     RBBS-PC.
  9621.  
  9622.     In addition to these four "protocols" and in order to provide  advocates of
  9623.     specific  protocols  a   means  of  adding   their  particular  flavor   of
  9624.     communications  protocol to RBBS-PC, a standard  interface has been created
  9625.     so  that "external"  protocols can  be  installed in  RBBS-PC.   "External"
  9626.     protocols are simply  defined as programs outside of  RBBS-PC which perform
  9627.     the file transfer.
  9628.  
  9629.     Before calling "external" protocol drivers, RBBS-PC will do the following:
  9630.  
  9631.       1) verify that the file exists if the file is to be downloaded.
  9632.       2) for uploads, verify that the file name requested is valid.
  9633.       3) pass control of the communications port to the external protocol.
  9634.  
  9635.     RBBS-PC will  call  the external  protocol  drivers either  via  the  SHELL
  9636.     command in BASIC or via a .BAT file.
  9637.  
  9638.     20.1 Parameters passed to a protocol driver
  9639.     -------------------------------------------
  9640.     RBBS-PC detects the installation of external file transfer protocols via an
  9641.     optional RBBS-PC system file  whose default name is PROTO.DEF.   If no such
  9642.     file exists, only internal  protocols will be  available -- Ascii,  Xmodem,
  9643.     XmodemCRC, 1K-Xmodem.  This  file may be used  to rename or delete some  or
  9644.     all of RBBS-PC's  internal protocols.  If  a PROTO.DEF file exists,  all of
  9645.     RBBS-PC's  internal protocols must  be specified in  it as well.   Internal
  9646.     protocols are NOT automatically included when a PROTO.DEF file exists!
  9647.  
  9648.     The protocol definition  file has thirteen (13) parameters  passed for each
  9649.     external protocol defined for RBBS-PC.  Each parameter can be on a separate
  9650.     line of  its own or  all parameters can be  on a single  line (separated by
  9651.     commas).  The parameters passed for each protocol specified are:
  9652.  
  9653.          Parameter      Description
  9654.  
  9655.                1        Protocol Name
  9656.                2        Security Level required to use protocol
  9657.                3        Method to invoke protocol
  9658.                4        Whether 8 bit connection required
  9659.                5        Whether "reliable" connection required
  9660.                6        Whether "batch" mode supported
  9661.                7        Number of bytes in a block transferred
  9662.                8        Indicate transfer always successful
  9663.                9        Factor to estimate file transfer time
  9664.               10        RBBS-PC "macro" to invoke before protocol
  9665.               11        Method for checking transfer's success
  9666.               12        Template to use for downloading
  9667.               13        Template to use for uploading
  9668.  
  9669.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 20-2
  9670.  
  9671.     Protocol Name  --  The FIRST  CHARACTER is  the letter  by  which a  caller
  9672.     selects the  protocol.  The prompt  for the selection  of protocol includes
  9673.     the protocol name.  It  is recommended that the second character be  ")" to
  9674.     resemble the rest  of the prompts in RBBS-PC, e.g. "Z)modem".  RBBS-PC will
  9675.     normally put each  protocol on the same  line, separated by a  comma, until
  9676.     the line gets too long.  The SysOp can control the placement of the line by
  9677.     putting a carriage return  line feed at the  end of the protocol name.   If
  9678.     this is  done,  the entire  protocol  name must  be  in parentheses.    For
  9679.     example, instead of the prompt
  9680.  
  9681.     A)scii,X)modem,C)rcXmodem,Y)modem,N)one
  9682.  
  9683.     a SysOp may want the prompt to be
  9684.  
  9685.     A)scii (text files only)
  9686.     X)modem checksum
  9687.     C)rc Xmodem
  9688.     Y)modem (1K Xmodem)
  9689.     N - None (cancel)
  9690.  
  9691.     Then the protocol definition file , PROTO.DEF, should be constructed  using
  9692.     quotes (to include the carriage return/line feed in the first parameter) as
  9693.     follows:
  9694.  
  9695.     "A)scii (text files only)
  9696.     ",...
  9697.     "X)modem checksum
  9698.     ",...
  9699.     "C)rc Xmodem
  9700.     ",...
  9701.     "Y)modem (1K Xmodem)
  9702.     ",...
  9703.     "N - None (cancel)
  9704.     ",...
  9705.  
  9706.     with the remaining 12 parameters put where "..." occurs.
  9707.  
  9708.     Security  Level  -- This  is the  minimum security  to be  able to  use the
  9709.     protocol being described.
  9710.  
  9711.     Method to  Invoke Protocol --  A protocol  can be invoked  by one of  three
  9712.     methods:
  9713.              shell,
  9714.              door, or
  9715.              internal (S, D, or I).
  9716.  
  9717.     If "I" is specified, it must be immediately followed by a letter specifying
  9718.     what  internal protocol  to use, where  the choices  are A,  X, C, Y,  or N
  9719.     respectively  for Ascii, Xmodem, Xmodem CRC,  1K-X(Y)modem, or None (cancel
  9720.     transfer).  "IC"  would mean to use  RBBS-PC's internal Xmodem CRC.   If no
  9721.     protocol is specified  equivalent to the internal "None",  RBBS-PC will add
  9722.     it.  If the letter N is used for a transfer protocol, another protocol must
  9723.     be specified that is equivalent to "None".
  9724.  
  9725.     Whether to Require 8  Bit -- By putting "8" in this parameter, the SysOp is
  9726.     specifying that  the protocol  requires the caller  to be  able to  send or
  9727.     receive 8 data bits.  If 8 data bits is required and the caller is not at 8
  9728.  
  9729.     RBBS-PC's STANDARD INTERFACE FOR PROTOCOL DRIVERS                 Page 20-3
  9730.  
  9731.     bit, RBBS-PC will prompt the caller to change  to 8 bit in order to use the
  9732.     protocol.
  9733.  
  9734.     Whether  A Reliable  Connection  Is  Required --  By  putting  "R" in  this
  9735.     parameter, the  SysOp is specifying that the protocol  will not be shown or
  9736.     made available  to the caller unless the  connection is reliable (i.e. such
  9737.     as Microcom's MNP protocol that is built into many modems).
  9738.  
  9739.     Whether Batch is supported  -- By putting "B" in this  parameter, the SysOp
  9740.     is indicating that "batch"  file transfers are  allowed with the  protocol.
  9741.     "Batch"  means a multi-file download request  will be processed together.  
  9742.     RBBS-PC  enters  an  external  protocol  only  once  to  do  multiple  file
  9743.     downloads.   RBBS-PC  has been tested  with such "batch"  protocols as Omen
  9744.     Technologies' DSZ Zmodem, Megalink, and Sealink.
  9745.  
  9746.     Blocksize  -- This parameter  indicates the number  of bytes  in each block
  9747.     transferred.   This is  only used  to inform  the caller  of the  number of
  9748.     blocks to expect  when downloading.  A  zero in this parameters  will cause
  9749.     RBBS-PC to  report only  the number  of bytes  to expect.    For Xmodem  or
  9750.     XmodemCRC this value would be 128.  For Ymodem this value would be 1024.
  9751.  
  9752.     Indicate Transfers Always Successful -- If there is no way for the protocol
  9753.     to  inform  RBBS-PC if  a  transfer  was  successful,  put a  "F"  in  this
  9754.     parameter, which stands for  "Fake" a success report.  This  means that all
  9755.     transfers will be regarded as successful.
  9756.  
  9757.     Zmodem  (DSZ)  used in  a  multi-tasking  DOS  environment (where  the  DOS
  9758.     environment variables are shared) and CLINK are examples of protocols  that
  9759.     require this to be set.
  9760.  
  9761.     Factor to Estimate File Transfer Time -- This is the decimal number used by
  9762.     RBBS-PC to  estimate the  elapse time to  download a  file. The  higher the
  9763.     number, the faster the protocol and the lower the time estimate.   Standard
  9764.     equivalents in RBBS-PC are:
  9765.  
  9766.          Ascii ......... 0.92
  9767.          Xmodem ........ 0.78
  9768.          XmodemCRC ..... 0.78
  9769.          Kermit ........ 0.78
  9770.          Ymodem ........ 0.87
  9771.          Imodem ........ 0.90
  9772.          YmodemG ....... 0.95
  9773.          Windowed xmodem 0.78
  9774.  
  9775.     If no value is specified, a default of 0.87 will be used.
  9776.  
  9777.     RBBS-PC "Macro" to Invoke  Before Protocol -- This  is the RBBS-PC  "macro"
  9778.     (i.e. a series of standard RBBS-PC  commands) to invoke before invoking the
  9779.     protocol.   It can be used to display  special messages, to delay the start
  9780.     of  the  protocol, or  to  prompt for  special  information  passed to  the
  9781.     protocol.
  9782.  
  9783.     Method  for  Checking Transfer's  Success  --  This  is required  only  for
  9784.     external protocols.   This parameter indicates how  RBBS-PC is to detect  a
  9785.     file transfer's failure.  The format is "x=y=z" where:
  9786.          x    is which parameter tells whether the transfer was successful,
  9787.          y    is the string which indicates failure, and
  9788.  
  9789.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 20-4
  9790.  
  9791.          z    is  an optional  parameter telling  RBBS-PC whether to  write out
  9792.               information needed when  DOORing to a protocol in  advance of the
  9793.               file exchange.
  9794.  
  9795.     For QMXFER.EXE from John Friel and the Forbin Project, this would  be "4=F"
  9796.     - meaning the 4th parameter indicates failure if it begins with "F".
  9797.  
  9798.     For Zmodem as  implemented in DSZ from Omen Technologies, the proper choice
  9799.     depends on  whether SHELLing  or DOORing is  used.    For SHELLing,  put in
  9800.     "1=E" to indicate  that the first parameter  uses "E" to indicate  an error
  9801.     has occurred.   For  DOORing, put in  "4=E=A" to  indicate that  the fourth
  9802.     parameter uses "E" when an error has occurred.  The "=A" means that RBBS-PC
  9803.     is to  do an  advance write of  the filename and  protocol used.   DSZ then
  9804.     appends its error report to the log file.   To the file "XFER-" plus node #
  9805.     plus ".DEF" RBBS-PC will write out a line containing "<filename>,,<protocol
  9806.     letter>".   Omitting an "=" causes a default to "4=F".  The file checked is
  9807.     "XFER-" plus the node number plus the extension "DEF".   On node 1 the file
  9808.     checked is "XFER-1.DEF".
  9809.  
  9810.     Template  to Use  for Downloading  -- This  is required  only for  external
  9811.     protocols.  It tells RBBS-PC how to invoke a download.  See section 20.2. 
  9812.  
  9813.     Template  to  Use  for Uploading  --  This is  required  only  for external
  9814.     protocols.  It tells RBBS-PC how to invoke an upload.
  9815.  
  9816.     20.2 Calling external protocols using "templates"
  9817.     -------------------------------------------------
  9818.     A "template" is  used to inform RBBS-PC how to invoke an external protocol.
  9819.     The  first word  of the  template  must be  the file  name  (including file
  9820.     extension) of the program to invoke.   RBBS-PC will check to make sure that
  9821.     the file exists.  If the file does not exist, the protocol will not be made
  9822.     available to the caller.
  9823.  
  9824.     RBBS-PC will dynamically substitute values for pre-defined strings inside a
  9825.     "template".   Each  supported string is  enclosed in square  brackets.  The
  9826.     strings supported include:
  9827.  
  9828.     [n]       where n is a positive integer.  Substitutes value in a work array
  9829.               Macros can store the prompted values in specific elements in  the
  9830.               array.
  9831.  
  9832.     [FILE]    Name of the file (FILE.NAME$) to be transferred.
  9833.  
  9834.     [BAUD]    Speed  at which the  PC talks to  the modem.   Can be much higher
  9835.               than the modem-to-modem  speed, but requires proper  flow control
  9836.               so that characters are not lost.
  9837.  
  9838.     [CBAUD]   Speed between the modems.   Carrier  speed.   The limiting factor
  9839.               on the speed of transmission, so used to estimate download times.
  9840.  
  9841.     [PARITY]  Parity used by the caller.
  9842.  
  9843.     [PORT]    DOS device name for the communications port to be used for the   
  9844.               file transfer (COM1,COM2, etc.).
  9845.  
  9846.     [PORT#]   Number  of  the communications  port  to  be  used for  the  file
  9847.               transfer (1,2,3, etc.).
  9848.  
  9849.     RBBS-PC's STANDARD INTERFACE FOR PROTOCOL DRIVERS                 Page 20-5
  9850.  
  9851.     [NODE]    Number of the RBBS-PC node invoking the file transfer (1,2,3,    
  9852.               etc.).
  9853.  
  9854.     [PROTO]   Letter of the protocol for the file transfer.
  9855.  
  9856.     Everything else in a  template will be passed intact.  If the external file
  9857.     transfer is to be invoked via a SHELL, it  is recommended that the external
  9858.     file  transfer  program be  SHELLed  to  directly.   If  the external  file
  9859.     transfer is to be invoked via a DOOR, it can be either
  9860.  
  9861.       1) DOORed to directly using the same template as for SHELLing, or
  9862.  
  9863.       2) DOORed  to indirectly  via a  .BAT  file with  the command  parameters
  9864.          passed to it by RBBS-PC.   For example, a "door" for QMXFER might have
  9865.          a download template of:
  9866.  
  9867.     "RBBSQM.BAT [FILE] [PORT] [BAUD] [PROTO]"
  9868.  
  9869.     and the file RBBSQM.BAT have the following in it:
  9870.  
  9871.               C:QMXFER.COM -s -f %1 -l %2 -c -b %3 -p %4
  9872.  
  9873.     DOS substitutes the passed parameters for the variables beginning with  the
  9874.     percent sign.  .BAT files are  needed if additional programs are to be  run
  9875.     before or after the actual file transfer.
  9876.  
  9877.     The following  examples should  provide some help  in understanding  how to
  9878.     invoke external protocols:
  9879.  
  9880.     Example #1:
  9881.  
  9882.     Z)ippy,5,S,8,,,,,0.98,,,"c:\utl\zippy -s [FILE]","c:\utl\zippy -r [FILE]"
  9883.  
  9884.     Can be interpreted to be:
  9885.          used "Z" as invoking letter,
  9886.          put "Z)ippy" in the prompt,
  9887.          the minimum security to use this protocol is 5,
  9888.          the protocol will be invoked via a SHELL command,
  9889.          an 8-bit connection is required,
  9890.          estimate the download time as 0.98 times as fast as normal,
  9891.          use normal RBBS-PC type of report to check for a successful transfer,
  9892.          invoke the protocol for downloads using the following string:
  9893.               "c:\utl\zippy -s [FILE]"
  9894.          and invoke the protocol for uploads using the following string:
  9895.               "c:\utl\zmodem -r [FILE]"
  9896.          where the file name is substituted for "[FILE]" in either case.
  9897.  
  9898.     Example #2:
  9899.  
  9900.     X)modem,5,IX,8,,,128,,0.8,,,,
  9901.  
  9902.     Can be interpreted to be:
  9903.          used "X" as invoking letter,
  9904.          put "X)modem" in the prompt,
  9905.          the minimum security to use this protocol is 5,
  9906.          the protocol is an internal RBBS-PC protocol,
  9907.          an 8-bit connection is required, and
  9908.          estimate the download time as 0.8 times as fast as normal.
  9909.  
  9910.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 20-6
  9911.  
  9912.     20.3 Parameters Returned by a Protocol Driver
  9913.     ---------------------------------------------
  9914.     All protocol  drivers are  expected to  return information  about the  file
  9915.     transfer in a file named XFER-xx.DEF where the value for  xx is the node ID
  9916.     (1 to 36).  If the protocol cannot accommodate this minimal requirement, it
  9917.     can still be used by telling RBBS-PC  to indicate file transfers are always
  9918.     successful -- section 20.1, parameter 8.
  9919.  
  9920.     The  one item  of  information  RBBS-PC requires  to  be  returned from  an
  9921.     external protocol drive is whether or not the file transfer was successful.
  9922.     The failure  indicator  MUST  BE  the  first  character  of  any  specified
  9923.     parameter in the file XFER-xx.DEF.  To show that file transfer failures are
  9924.     indicated  by   the  first  parameter  and  the  letter  "E"  in  the  file
  9925.     XFER-xx.DEF, parameter 11  (as described in section 20.1)  would be written
  9926.     as "1=E".  To show that file transfer failures are  indicated by the fourth
  9927.     parameter and the letter "F",  parameter 11 (as described in section  20.1)
  9928.     would be written as "4=F".
  9929.  
  9930.     No other information is  required when SHELLing  to external file  transfer
  9931.     protocols.  However,  when DOORing to external file  transfer protocols the
  9932.     log file for the transfer MUST HAVE the file name as the first parameter.
  9933.  
  9934.     Protocol drivers that do not have the file name as the  first parameter can
  9935.     still be used by telling RBBS-PC to  write out three parameters (file name,
  9936.     an empty parameter, and  the letter of the  file transfer protocol)  before
  9937.     invoking the external  file protocol.  This  is done by using  parameter 11
  9938.     (as described in section 20.1).  As an example, to DOOR to an external file
  9939.     transfer  protocol that  indicates a  file  transfer failure  by using  the
  9940.     letter "F" in the fourth parameter, but which does not return the file name
  9941.     used, parameter  11 (as  described in  section 20.1)  would  be written  as
  9942.     "4=F=A".   The external protocol would  then append its own  information to
  9943.     the log file.
  9944.  
  9945.     20.4 The Protocol Drivers Tested With RBBS-PC
  9946.     ---------------------------------------------
  9947.     RBBS-PC has been tested with the following protocol drivers:
  9948.  
  9949.     CLINK     From  System   Enhancement  Associates.    Supports   batch  file
  9950.               transfers,  but   requires  that  transfers   always  be  assumed
  9951.               successful.
  9952.  
  9953.     DSZ       From Omen Technologies.  Supports  Ymodem, Ymodem Batch, YmodemG,
  9954.               and Zmodem.  YmodemG requires a "reliable" connection.  DSZ  logs
  9955.               the results  of the file  transfers to  a file  specified in  the
  9956.               environment variable  DSZLOG.   Therefore, the  AUTOEXEC.BAT file
  9957.               for an RBBS-PC that uses DSZ should specify
  9958.  
  9959.                    "SET DSZLOG=XFER-x.DEF"
  9960.  
  9961.               where  x is the node  number.  DSZ  seems unable to  create a log
  9962.               file whenever a drive  or path is specified.   If invoking ZMODEM
  9963.               via the  DOOR mechanism, use  the "=A" option  at the end  of the
  9964.               success method check so that RBBS-PC will  append the information
  9965.               to the DSZ  log it  needs and  DSZ will then  append the  success
  9966.               report.    In   a  multi-user   environment  where  a   different
  9967.               environment variable for each node can not be specified (i.e. all
  9968.               nodes  must  share the  same  DSZ  log  file), specify  that  all
  9969.               transfers are always successful for protocols handled via DSZ.
  9970.  
  9971.     RBBS-PC's STANDARD INTERFACE FOR PROTOCOL DRIVERS                 Page 20-7
  9972.  
  9973.     MLINK     MEGALINK protocol supports batch file transfers but requires that
  9974.               transfers always be assumed successful.
  9975.  
  9976.     PC-KERMIT from Columbia University.  PCKERMIT.EXE is supplied by The Source
  9977.               as a  public  service  and  consists  of  sliding  window  KERMIT
  9978.               protocol.  The  development  of  "windowing"  within  the  KERMIT
  9979.               architecture (i.e.  Super KERMIT)  was funded  by The  Source and
  9980.               implemented by Larry Jordan and Jan van der Eijk.
  9981.  
  9982.               Columbia University holds the copyright  and maintains the Kermit
  9983.               protocol. Like RBBS-PC,  Columbia University allows KERMIT  to be
  9984.               passed along  to others  and "ask only  that profit  not be  your
  9985.               goal, credit be given where it  is due, and that new material  be
  9986.               sent back  to  us  so  that  we can  maintain  a  definitive  and
  9987.               comprehensive set of KERMIT implementations".
  9988.  
  9989.               PCKERMIT.EXE is not a terminal program.  It simply implements the
  9990.               Kermit protocol, including the sliding window extension.  It will
  9991.               work with  older "Kermit  Classic" implementations  as well,  via
  9992.               automatic   negotiation   between   the  two   Kermit   programs.
  9993.               PCKERMIT.EXE  runs  as  a "one-shot"  execution  then  returns to
  9994.               RBBS-PC.   PCKERMIT does  not establish a  carrier with  a remote
  9995.               system.    The  connection  is  established  by  RBBS-PC.    File
  9996.               transfers must always be assumed successful.
  9997.  
  9998.     QMXFER    is  supplied  by  The  Forbin   Project.    It  supports   XMODEM
  9999.               (checksum), XMODEM (CRC),  YMODEM, YMODEMG, and IMODEM.   YMODEMG
  10000.               and IMODEM are  designed to work  when the link  between the  two
  10001.               modems is "error free"  (i.e. both modems  have the MNP  protocol
  10002.               built  in).   QMXFER.COM  runs  as a  "one-shot"  execution, then
  10003.               returns to RBBS-PC.   QMXFER does not establish a  carrier with a
  10004.               remote system.   The connection is established by  RBBS-PC.  File
  10005.               transfer failures are indicated by an "F" in the fourth parameter
  10006.               of the log file returned to RBBS-PC.
  10007.  
  10008.     WXMODEM   is supplied by The Forbin Project, and supports the window XMODEM
  10009.               protocol  designed by  Pete  Boswell.    Like  all  of  RBBS-PC's
  10010.               protocol drivers, WXMODEM.COM runs as a "one-shot" execution then
  10011.               returns to RBBS-PC.  WXMODEM does not establish a carrier  with a
  10012.               remote system.   The connection is established by  RBBS-PC.  File
  10013.               transfer failures are indicated by an "F" in the fourth parameter
  10014.               of the log file returned to RBBS-PC.
  10015.  
  10016.     Other protocols tested with RBBS-PC include SuperK, Jmodem and Puma.
  10017.  
  10018.     GOING MULTI-NODE                                                  Page 21-1
  10019.  
  10020.     21. GOING MULTI-NODE
  10021.     --------------------
  10022.     The amount of traffic, or calls, that a BBS can process, are limited by the
  10023.     number of  simultaneous  callers that  be had.     Each  caller requires  a
  10024.     dedicated, separate phone line and communications port, and  has to run its
  10025.     own, separate  copy of  RBBS-PC.    SysOps  sometimes make  the mistake  of
  10026.     investigating considerable money and resources into a multi-node BBS before
  10027.     they  have established a demand  for such a service.    Rather than install
  10028.     too many  nodes, it is much better  to begin slowly and to  have an upgrade
  10029.     strategy for adding more nodes once the BBS gets so busy  that many callers
  10030.     who want to get on encounter a busy signal.
  10031.  
  10032.     Before you consider running multiple nodes to allow more than one caller on
  10033.     your BBS at  a time, you should  already have RBBS-PC  working well on  one
  10034.     node.  If you don't have your board running smoothly  with NO crashes, STOP
  10035.     right here  and  concentrate on  your single-node  system.   You will  only
  10036.     compound your  errors and  frustrate  yourself if  you try  to get  RBBS-PC
  10037.     operating on multiple nodes before you get it operating well on one node.
  10038.  
  10039.     21.1 The Basic Strategies
  10040.     -------------------------
  10041.     There are  four basic  strategies for providing  multi-node operation  on a
  10042.     BBS.
  10043.  
  10044.     o    networking
  10045.  
  10046.     PC's are connected  together using a network card,  cabling, and networking
  10047.     software so that hard disk and files can be "shared" or accessed by all the
  10048.     PC's on  the network.     This is  called a  "local area  network" or  LAN.
  10049.     Example:  LANTASTIC.
  10050.  
  10051.     o    slave cards
  10052.  
  10053.     A PC, with communications ports, memory, and a CPU is put on a "card" which
  10054.     goes into an expansion  slot on a "host"  computer.   The slaves  share the
  10055.     hard  disk of  the host  and each  one runs  a copy of  the BBS  software. 
  10056.     Example:  Alloy PC-16 slave cards.
  10057.  
  10058.     o    operating system multi-tasking
  10059.  
  10060.     Software is installed on  a single PC that enables  it to run, at the  same
  10061.     time, any application that would normally run, only at the same time.   The
  10062.     CPU is  rapidly  "task switched"  between  all the  applications  that  are
  10063.     running.   To run multi-node, you just "open" up a new task  to run another
  10064.     copy of the BBS software.   Example:  Desqview.
  10065.  
  10066.     o    application multi-tasking
  10067.  
  10068.     Here the BBS software itself manages and runs multiple sessions on multiple
  10069.     communications ports.   Hence the BBS software can never terminate.   RBBS-
  10070.     PC is only "single-threaded" and does not support this option.   An example
  10071.     of good commercial software that does do this is TBBS.
  10072.  
  10073.     All strategies requires a  communications port, modem,  and phone line  for
  10074.     each node.   Each option  has advantages and disadvantages.    Fortunately,
  10075.     the most inexpensive  option is also well  supported and works well.    For
  10076.     about  $100, Desqview can be added on top of DOS.   Each task you add under
  10077.     Desqview requires extra system memory, and the more tasks you run, the more
  10078.  
  10079.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 21-2
  10080.  
  10081.     powerful a  processor your  need.    Figure at  least 1  meg of memory  for
  10082.     Desqview, the at least 500K for each application.   Then, with a 80286, you
  10083.     can easily run 2 nodes of RBBS-PC, with an 80386 4 nodes, and with an 80486
  10084.     8 nodes.   For details, see the appendix on Desqview.
  10085.  
  10086.     Desqview  can also  be combined  with  networking, though  getting all  the
  10087.     software to work properly together  can be a struggle.    For example,  you
  10088.     might have two PC's linked together  using LANTASTIC, each running 4  nodes
  10089.     under Desqview.
  10090.  
  10091.     Slave cards have the advantage that each added node has its  dedicated CPU,
  10092.     and so there is little or no degradation in speed when additional nodes are
  10093.     added.     Also, the software  to run  slaves is  extremely easy to  set up
  10094.     compared to networks.   Since each slave takes a slot on the  bus, you will
  10095.     run out  of slots, or have to buy an  "expansion bus" where each slot costs
  10096.     about $100.  Also,  at a cost of about $700 per slave,  this option is more
  10097.     expensive.
  10098.  
  10099.     If  you already  own many  PC's, especially  older "obsolete" ones  like an
  10100.     8088,  putting  them to  use  to  run  BBS's  can be  both  productive  and
  10101.     economical.    All you  would have  to do is  to add  networking cards  and
  10102.     software.    Networks also have the  advantage that you can  add hard disks
  10103.     and CD-Roms  on  different machines,  to  be shared  across  the network.  
  10104.     Generally, you would make your fastest machines "servers" for the network.
  10105.  
  10106.     21.2 How to Set up RBBS-PC for Multi-Node Operation
  10107.     ---------------------------------------------------
  10108.     When configuring a multi-node RBBS-PC, you  may have to make a decision  of
  10109.     SPEED vs. STORAGE.  In a LAN environment, accessing data stored  on another
  10110.     machine is  slow.  Therefore, you may want to keep copies of ALL text files
  10111.     on each  machine, and ONLY share  those files that are  mandatory (MESSAGE,
  10112.     USER, UPLOAD dirs).  However, to do  this you will have to keep nearly  ALL
  10113.     RBBS-PC files  updated on EACH  RBBS-PC machine.   This can  waste storage,
  10114.     increase maintenance hassles, but it does greatly improve performance on  a
  10115.     LAN.   Other single-machine  environments (such as  DESQview, PC-Slaves) do
  10116.     not require you to make this choice.
  10117.  
  10118.     To make  multi-node  operation easier,  you  may  want to  put  all  "node-
  10119.     specific" files in separate directories (i.e. C:\RBBS\NODE1, C:\RBBS\NODE2,
  10120.     etc.).   This will reduce  the chances of having  one node overwrite a file
  10121.     from another  node.  The following example assumes  you have created a NODE
  10122.     subdirectory for each node on your system.
  10123.  
  10124.     There are  certain parameters in the CONFIG utility  which you will want to
  10125.     consider adjusting in order to facilitate your multi-node RBBS-PC.
  10126.  
  10127.     To  begin with, you will  need to make an CONFIG  .DEF description file for
  10128.     each node.   Copy the  file RBBS-PC.DEF  to RBBSnPC.DEF, where  "n" is  the
  10129.     number for the node (e.g. RBBS1PC.DEF, RBBS2PC.DEF, etc.).  You will need a
  10130.     configuration description files for each node, even if it is a "local" node
  10131.     without a modem.
  10132.  
  10133.     When you start the CONFIG utility, you can either specify the configuration
  10134.     description file name  after the CONFIG  program name  on the command  line
  10135.     (e.g. CONFIG RBBS1PC.DEF), or you can  let CONFIG ask you whether you  will
  10136.     be running  multiple  RBBS-PCs, answer  the  question with  "Y",  and  then
  10137.     specify the  number of  the node you  wish to  edit (answering "1"  at this
  10138.     point would then edit RBBS1PC.DEF).
  10139.  
  10140.     GOING MULTI-NODE                                                  Page 21-3
  10141.  
  10142.     The CONFIG parameters  that you will probably want to change in your multi-
  10143.     node system are as follows:
  10144.  
  10145.     161  Maximum  number of  concurrent RBBS-PC's.    Set this  to the  maximum
  10146.          number of nodes you will ever run.  Remember that you need to allocate
  10147.          space  for  your local  nodes, also.    This causes  more space  to be
  10148.          allocated in  the MESSAGE files.   You can  change this number  at any
  10149.          time, and CONFIG will create the needed room, however the only harm in
  10150.          allocating EXTRA nodes is 128 bytes of wasted disk space per node.
  10151.  
  10152.     162  Environment running multiple  copies.   Select whichever network  type
  10153.          describes the environment you are running.   If you have some doubt as
  10154.          to which  type fits your network, select NETBIOS (DOS SHARE).  NETBIOS
  10155.          is a fairly universal network interface for applications software, and
  10156.          most LAN products offer support for it.
  10157.  
  10158.     88   System file for recording comments.  You can set a  different comments
  10159.          file for each node you are running (NODE1\COMMENTS and NODE2\COMMENTS,
  10160.          for example), but  RBBS-PC can allow a single, shared comments file in
  10161.          all but the CORVUS network.
  10162.  
  10163.     90   Caller log  files.  RBBS-PC  does NOT share  log files  between nodes.
  10164.          Each node must have a separate log file (NODE1\CALLERS, etc).   If all
  10165.          nodes write to the same callers  file, you will not be able to  figure
  10166.          out which node did what!
  10167.  
  10168.     93   File controlling scan for mail waiting.  If, for some reason, you want
  10169.          to have some  conferences or sub-boards  visible on only  one of  your
  10170.          nodes,  you  have the  option  of  creating separate  conference  mail
  10171.          control  files  (e.g.  NODE1\CONFMAIL.DEF,  NODE2\CONFMAIL.DEF,  etc.)
  10172.          This  is certainly not required, however,  and most installations will
  10173.          run with identical conference mail control files.
  10174.  
  10175.     100  File built dynamically  to open a door.  RBBS-PC creates an batch file
  10176.          for each node  when dooring.  This  batch file must be  unique for the
  10177.          node.  Name  yours NODEn\RCTTY.BAT, where "n" represents  the node you
  10178.          are configuring currently.
  10179.  
  10180.     104  The .BAT file to re-invoke RBBS-PC.  If you do not make your  RBBS.BAT
  10181.          file read-only, you might have problems when several nodes attempt  to
  10182.          access it at  the same time.   In most cases,  this can be  avoided by
  10183.          marking the .BAT file "READ  ONLY," but you may have to have  a unique
  10184.          BAT file for each node of RBBS-PC (e.g. RBBS1.BAT, RBBS2.BAT, etc.)
  10185.  
  10186.     204  Drives available for  downloading.  Make certain to  list not only the
  10187.          drives from the computer local to the node, but also the network drive
  10188.          letters.    We  recommend using  the  DOS  SUBST command  to  make the
  10189.          references to local drives match those that the remote machine  refers
  10190.          to  them as.  For example, if the  remote machine refers to your drive
  10191.          C: as drive W:, then use the DOS SUBST command and refer to it locally
  10192.          as drive  W:, also.  It will reduce confusion for you to only refer to
  10193.          a drive  by one name.   Remember,  you can have  up to 15  letters, no
  10194.          more.
  10195.  
  10196.     Now  save these  CONFIG  parameters, and  you will  have a  "network ready"
  10197.     configuration description file.  You can copy this .DEF file for  the other
  10198.     nodes, and then change  the node-specific parameters  for each.   Remember,
  10199.     each node gets its OWN file!
  10200.  
  10201.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 21-4
  10202.  
  10203.     Remember also  that each node is likely to have  a different modem.  Not in
  10204.     ALL cases,  obviously, but  it justifies  a reminder  here.   Let's take  a
  10205.     typical example.  On one node, you are using a Hayes 2400 compatible modem,
  10206.     and  on the  other a  US Robotics  Courier HST.   Obviously,  the setup  is
  10207.     greatly  different between these  two.   It's not  a problem  with RBBS-PC,
  10208.     however.    When  you  have  CONFIG  loaded  and  are  editing  the  node's
  10209.     configuration description files just remember to put the proper information
  10210.     FOR THAT NODE  into CONFIG parameters 221 (Comm port), 225 (Modem settings)
  10211.     and 231 (Firmware  initialization).  Each node can have  a different modem,
  10212.     use a different  COM port, run  at different speeds,  or even use a  FOSSIL
  10213.     driver or not, and RBBS-PC can easily adjust to it.
  10214.  
  10215.     AUTOEXEC.BAT
  10216.  
  10217.     In the AUTOEXEC.BAT file for each node, you will want  to add the following
  10218.     environment variables.
  10219.  
  10220.     SET NODE=n (where "n" is the node number)
  10221.     SET DSZLOG=XFER-%node%.DEF
  10222.  
  10223.     There may be  other variables also required  by your individual setup,  but
  10224.     the RBBS.BAT  file expects to  find the %node% variable,  and some external
  10225.     file transfer protocol  drivers (DSZ, especially) will use  the DSZLOG file
  10226.     to pass success-or-fail back to RBBS-PC.  You need a separate one built for
  10227.     each node, and this will take care of it.
  10228.  
  10229.     SUB-BOARDS
  10230.  
  10231.     If  you have sub-boards set up, you will create a configuration description
  10232.     file for each sub-board.  However, the configuration description file  will
  10233.     not have a  node number in its  title.  The configuration  description file
  10234.     name will  take  the  form  "xxxxxxxC.DEF",  where  "xxxxxxx"  is  the  1-7
  10235.     character sub-board name.  For example, a sub-board named  GAMES would have
  10236.     a  configuration  description file  named  GAMESC.DEF.    This is  a  major
  10237.     difference  from  the   configuration  description   file  for  the   nodes
  10238.     themselves.  Each  node has its own  file, because each node  is completely
  10239.     different (usually).   But  with a sub-board,  parameters about  the modem,
  10240.     etc.,  are  not  needed.    Therefore,  there  is  only  ONE  configuration
  10241.     description file for each sub-board.
  10242.  
  10243.     RBBS-PC will search for a conference .DEF file in THREE  places (and in the
  10244.     following order):3
  10245.       -  The default drive/path (when RBBS-PC starts)
  10246.       -  The location of the CURRENT message base (the one active when the JOIN
  10247.          command is used).
  10248.       -  Where the CONFERENCE menu file is stored (see CONFIG parameter 74).
  10249.  
  10250.     Here's an  important tip  to help with  sub-boards functioning  on multiple
  10251.     nodes.  CONFIG  parameter 90 controls the system callers file.  Select this
  10252.     parameter,  and when CONFIG asks  you if you  want to have  a callers file,
  10253.     answer "N".   This will cause  the sub-board to use  the same callers  file
  10254.     that the node  is currently using.   Since you only have  one configuration
  10255.     description for each sub-board, specifying a callers file in the  sub-board
  10256.     configuration description  file would cause information from  both nodes to
  10257.     be written to the same callers file, and this would be mass confusion.
  10258.  
  10259.     DOORS
  10260.  
  10261.     GOING MULTI-NODE                                                  Page 21-5
  10262.  
  10263.     Many  door   programs  (especially  older  ones)  are  simply  not  network
  10264.     compatible.   Some of the doors  that you have been  running for years will
  10265.     suddenly not  work in a network.   Each door  is an individual case.   Some
  10266.     doors are  hard-coded to pick  up DORINFO1.DEF and  cannot be made  to read
  10267.     DORINFO2.DEF.   Others are  locked into COM1  and cannot be  forced over to
  10268.     COM2.   And still  others force  you to  have DORINFO1.DEF  in a  directory
  10269.     called  "C:\RBBS" and will refuse to look anywhere else for the possibility
  10270.     of a second node's files.
  10271.  
  10272.     When you have a door which is network compatible, usually the documentation
  10273.     that accompanies the program will explain in detail how to install the door
  10274.     on your BBS.  In  general, a door program is  installed in one location  on
  10275.     the network,  and all  nodes  will run  the  door from  that  subdirectory.
  10276.     RBBS-PC will  create a DORINFOn.DEF, where "n" is  the node number, when it
  10277.     exits to a door.  Almost all door programs want to know where this file is,
  10278.     and a variety of options are available to you.  One option often used is to
  10279.     set an environment  variable to the drive  letter that will be  the default
  10280.     drive for a specific node.
  10281.  
  10282.     For example, let's say that  our Node 1 system  runs from W:\RBBS, and  our
  10283.     Node 2 system runs from Y:\RBBS.  If we set an environment variable in each
  10284.     node's AUTOEXEC.BAT file called RBBS (e.g. SET RBBS=W:), then  we can refer
  10285.     to the location of the DORINFOn.DEF file as:
  10286.  
  10287.           "%rbbs%\RBBS\DORINFO%node%.DEF".
  10288.  
  10289.     (Notice the use  of the %node% environment  variable, also.)  In  this way,
  10290.     each node running the door will substitute the proper drive and node number
  10291.     to the door.
  10292.  
  10293.     MISCELLANEOUS TRICKS
  10294.  
  10295.     RBBS-PC is written to share resources with  no conflict between nodes.  For
  10296.     example, both nodes will access the same message and user files, and at the
  10297.     same time.  Under ordinary  DOS circumstances, this would cause  a "sharing
  10298.     violation" error.  RBBS-PC, however, accesses files in "shared mode", which
  10299.     eliminates this  error.   There are  still times,  however, when  files are
  10300.     accessed  outside  the  direct  control  of  RBBS-PC.    To  eliminate  the
  10301.     possibility of sharing  violation errors at these times  also, we recommend
  10302.     marking all  your TEXT, .COM, .EXE, and .BAT  files "read only".  (The read
  10303.     only  attribute lets DOS know that  it's okay for more  than one process to
  10304.     access this  file at the same time, because NEITHER process will be able to
  10305.     modify it.)
  10306.  
  10307.     To change  a file's attribute, you  will use the  DOS utility ATTRIB.   The
  10308.     command syntax is "ATTRIB +R  filespec", where filespec can be  anything up
  10309.     to  and including "*.*".  Conversely, "ATTRIB  -R filespec" will remove the
  10310.     read only attribute so that the file may be changed.
  10311.  
  10312.     If you  are operating  your multi-node  RBBS-PC with  two separate  RBBS-PC
  10313.     subdirectories (i.e. all files duplicated in a second location except those
  10314.     which MUST be  shared), then  this precaution is  not needed.   If, on  the
  10315.     other hand, you are operating your multi-node RBBS-PC with a SINGLE RBBS-PC
  10316.     subdirectory, then we  recommend making all files read-only  which will not
  10317.     be written to by RBBS-PC.
  10318.  
  10319.     Files which  will be written to are the callers  files, the user files, the
  10320.     message files and the upload directory.   Since these are only opened  from
  10321.  
  10322.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 21-6
  10323.  
  10324.     within the  RBBS-PC  program, you  will  not have  sharing  problems  here.
  10325.     (Note:  Some  door programs require access  to these dynamic files,  and do
  10326.     not support shared access.  This can cause the door program to malfunction.
  10327.     This would be considered a door program which is NOT "network-able".)
  10328.  
  10329.     21.3 How to Add Multiple Communications Ports
  10330.     ---------------------------------------------
  10331.     One of the long standing scandals of DOS as an operating system  is that it
  10332.     only supports  2 communications  ports, known  as COM1  and COM2.     These
  10333.     standardized ports are well supported, but once you want more than two, the
  10334.     operating system fails to provide the needed standards, and so applications
  10335.     requiring more do everything  their own way  and are not interchangeable.  
  10336.     Through its fossil  driver, RBBS-PC supports up to 8 com ports, but finding
  10337.     hardware everything will work with is a greater challenge.
  10338.  
  10339.     COM3 and  COM4 are semi-standardized.    What  you need is  a two port  com
  10340.     board that supports two features:
  10341.  
  10342.     o    each com port can be configured to be com1 thru com4
  10343.  
  10344.     o    the board  can be  assigned an interrupt,  preferably interrupts  4 at
  10345.          least 11.    Ideally,  each  comm port  can  be  assigned  a  separate
  10346.          interrupt.
  10347.  
  10348.     Configuring  a com port generally means setting  switches or jumpers on the
  10349.     board.   Also, the comm port should preferably have an advanced UART chip. 
  10350.     The old 8250  is acceptable, but far  preferable is the  newer 16550 AN  or
  10351.     16650 AFN.   Generally, avoid the 16450 UART.    The chip should be the big
  10352.     rectangular one on the  board.    Suitable 2 port com  boards from the  Far
  10353.     East can be purchased for no more than $20.
  10354.  
  10355.     If you  want to go  beyond 4 nodes  on a  single machine, your  choices are
  10356.     narrower  and  more   expensive.      RBBS-PC's  fossil   driver  has  been
  10357.     successfully set up with the DigiBoard Digichannel PC/8, under Desqview, as
  10358.     follows.  Information on this setup was provided by Ken Royer.
  10359.  
  10360.       **** You must have at least 4 meg RAM to use this configuration ****
  10361.  
  10362.     Software required:
  10363.  
  10364.       a) Desqview 386
  10365.       b) Fossil driver X00.SYS version 1.22 or higher
  10366.       c) RBBS-PC version 17.3a or higher
  10367.  
  10368.  
  10369.     1.   The  configuration I  use requires  the  DigiBoard Digichannel  PC/8. 
  10370.     Before installing the  DigiBoard you must adjust the  Dip-Switches (DS) and
  10371.     Jumpers  so you system can locate all ports.   On the DigiBoard there are 9
  10372.     Dip-Switches referred to as DS# (# indicating the Dip-Switch number).   Set
  10373.     your DS's as follows:
  10374.  
  10375.     Set DS1 to 140h as shown:
  10376.  
  10377.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 21-2
  10378.  
  10379.                                    (2 & 4 off)
  10380.                                                             
  10381.      Status port           1  2  3  4  5  6  7  8  9  10  
  10382.      address                                              
  10383.                                                           
  10384.                               x     x                     
  10385.                            OFF                            
  10386.                                                           
  10387.  
  10388.  
  10389.     Set DS2 to 100h as shown:
  10390.  
  10391.                                   (2  off)
  10392.                                                      
  10393.        Com port 1          1  2  3  4  5  6  7  8  
  10394.                                                    
  10395.                                                    
  10396.                               x                    
  10397.                            OFF                     
  10398.                                                    
  10399.  
  10400.     Set DS3 to 108h as shown:
  10401.  
  10402.                                 (2 & 7 off)
  10403.                                                      
  10404.        Com port 2          1  2  3  4  5  6  7  8  
  10405.                                                    
  10406.                                                    
  10407.                               x              x     
  10408.                            OFF                     
  10409.                                                    
  10410.  
  10411.     Set DS4 to 110h as shown:
  10412.  
  10413.                                 (2 & 6  off)
  10414.                                                      
  10415.        Com port 3          1  2  3  4  5  6  7  8  
  10416.                                                    
  10417.                                                    
  10418.                               x           x        
  10419.                            OFF                     
  10420.                                                    
  10421.  
  10422.     Set DS5 to 118h as shown:
  10423.  
  10424.                                 (2,6 & 7  off)
  10425.                                                      
  10426.        Com port 4          1  2  3  4  5  6  7  8  
  10427.                                                    
  10428.                                                    
  10429.                               x           x  x     
  10430.                            OFF                     
  10431.                                                    
  10432.  
  10433.     Set DS6 to 120h as shown:
  10434.  
  10435.     UPLOADED FILE TIPS                            (2 & 4  off)
  10436.                                                      
  10437.        Com port 5          1  2  3  4  5  6  7  8  
  10438.                                                    
  10439.                                                    
  10440.                               x     x              
  10441.                            OFF                     
  10442.                                                    
  10443.  
  10444.     Set DS7 to 128h as shown:
  10445.  
  10446.                                (2,5 & 7  off)
  10447.                                                      
  10448.        Com port 6          1  2  3  4  5  6  7  8  
  10449.                                                    
  10450.                                                    
  10451.                               x        x     x     
  10452.                            OFF                     
  10453.                                                    
  10454.  
  10455.     Set DS8 to 130h as shown:
  10456.  
  10457.                                (2,5 & 6  off)
  10458.                                                      
  10459.        Com port 7          1  2  3  4  5  6  7  8  
  10460.                                                    
  10461.                                                    
  10462.                               x        x  x        
  10463.                            OFF                     
  10464.                                                    
  10465.  
  10466.     Set DS9 to 178h as shown:
  10467.  
  10468.                             (2,4,5,6 & 7  off)
  10469.                                                      
  10470.        Com port 8          1  2  3  4  5  6  7  8  
  10471.                                                    
  10472.                                                    
  10473.                               x     x  x  x  x     
  10474.                            OFF                     
  10475.                                                    
  10476.  
  10477.                     ************ Important **************
  10478.     Switch 8 is to turn the port on or off so if switch 8 is off then the port 
  10479.     does not work.   Also, a lot of  problems occurred when using  port 8 (DS9)
  10480.     because of address  conflicts.  Most of  my problems were while  using port
  10481.     address 138h.  I have set the address for this setup at 178h so no problems
  10482.     should  occur.    If you  still have  problems bringing  up the  board, try
  10483.     shutting  down port 8 (DS9)  by switching the 8th switch  off.  This should
  10484.     work. 
  10485.  
  10486.     You must now  set the jumpers J85-J90  to determine the IRQ settings.   For
  10487.     this setting you should have J85  & J90 jumpered for the settings of  IRQ 3
  10488.     and IRQ 2.  These jumpers are explained in the DigiBoard manual.
  10489.  
  10490.     Now select  the ODD interrupts  by setting  jumpers J1-J8  on pins  1 &  2.
  10491.     Jumper J9 & J10 on pins 2 & 3.  It should look like this:
  10492.  
  10493.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 21-4
  10494.  
  10495.                                                    
  10496.                            J1  J3  J5  J7  J9    
  10497.                            I I I I I I I I       
  10498.                            . . . . . . . . I I   
  10499.                              J2  J4  J6  J8  J10 
  10500.                                                  
  10501.  
  10502.     The DigiBoard  is now  ready for  installation.   Place the  board into  an
  10503.     available slot  on  your system  and  configure your  system  software  (If
  10504.     necessary).  Your  system software configuration should reflect  IRQ 3 with
  10505.     the same addresses as shown above.
  10506.  
  10507.     2.   Once  you  have installed  the  DigiBoard, you  are  ready to  install
  10508.     Desqview   386.   This software  comes with  QEMM follow  the steps in  the
  10509.     Desqview manuals to install this software.   
  10510.  
  10511.         a) After installation, add 8 windows ( one for each node of RBBS).
  10512.            The following is how each setting should be to work with this setup:
  10513.  
  10514.                                    Add a Program
  10515.          ---------------------------------------------------------------------
  10516.          Program Name..........: [NODE-1]
  10517.  
  10518.          Keys to Use on Open Menu: N1               Memory Size (in K): 450
  10519.  
  10520.          Program...: Start              Please note that Memory Size above may 
  10521.            
  10522.                                         need to be increased if you intend to 
  10523.          Parameters: 1 (node #)         SHELL (rather than DOOR) to External
  10524.                                         file transfer protocols.
  10525.          Directory.: C:\RBBS\Node1
  10526.  
  10527.          Options:
  10528.                           Writes text directly to screen.......: [Y]
  10529.                           Displays graphics information........: [N]
  10530.                           Virtualize text/graphics (Y,N,T).....: [Y]
  10531.                           Uses serial ports (Y,N,1,2)..........: [N]
  10532.                           Requires floppy diskette.............: [N]
  10533.          ---------------------------------------------------------------------
  10534.  
  10535.          Next, press F1 for the Advanced Options menu.
  10536.  
  10537.                           Change a Program Advanced Options
  10538.          ---------------------------------------------------------------------
  10539.          System Memory (in K) ......: 0  Maximum Program Memory Size (in K).:__
  10540.            
  10541.          Script Buffer Size.........: 1  Maximum Expanded Memory Size (in K):__
  10542.  
  10543.          Text Pages: 1  Graphics Pages: 0  Initial Mode:__ Interrupts: 00 of FF
  10544.  
  10545.          Window Position: 
  10546.            Maximum Height: 25      Starting Height: __    Starting Row...:__
  10547.            Maximum Width.: 80      Starting Width.: __    Starting Column:__
  10548.                        
  10549.                                    Shared Program
  10550.          Pathname...:________________________________________
  10551.          Data.......:________________________________________
  10552.  
  10553.     UPLOADED FILE TIPS     Close     on    exit    (Y,N,blank......:[N]        Uses    its    own
  10554.     colors.............:[Y]
  10555.          Allow   Close   Window   command....:[Y]       Runs   in    Background
  10556.     (Y,N,blank)..:[Y]
  10557.          Uses    math     coprocessor.........:[Y]         Keyboard    conflict
  10558.     (0-F).........:[0]
  10559.          Share    CPU    when    foreground.....:[Y]       Share    EGA    when
  10560.     Foreground/Zoomed:[Y]
  10561.          Can    be    swapped   out    (Y,N,blank):[N]       Protection   level
  10562.     (0-3)..........:[0] 
  10563.                                                                                
  10564.     ------------------------------------------------------------------------
  10565.  
  10566.  
  10567.          ******  Note that  the  Program Name,  Parameters  and Directory  will
  10568.     change with each node setting. 
  10569.            
  10570.  
  10571.  
  10572.     3.  Now create a directory called "driver" and place all X00.sys files into
  10573.     it.
  10574.  
  10575.     4.  You are almost ready to start RBBS-PC, the following are copies of the 
  10576.     Config.sys and Autoexec.bat files needed to support this configuration.
  10577.  
  10578.                     *********** Config.Sys file ***********
  10579.  
  10580.     DEVICE=C:\QEMM\QEMM386.SYS MAPS=10 RAM ROM SORT:Y
  10581.     SHELL = C:\DOS\COMMAND.COM /P/E:241
  10582.     DEVICE = C:\driver\x00.sys E T=2048 R=2048 0=100,IRQ3 1=108,IRQ3 2=110,IRQ3
  10583.     3=118,IRQ3 4=120,IRQ3 5=128,IRQ3 6=130,IRQ3 7=178,IRQ3 
  10584.     BUFFERS = 30/X
  10585.     STACKS = 0,0
  10586.     BREAK = ON
  10587.     FILES=20
  10588.  
  10589.                    ************ Autoexec.Bat file ************
  10590.                 
  10591.     ECHO OFF
  10592.     PATH=C:\DOS;C:\DV;C:\QEMM;C:\ZIP
  10593.     cd\qemm
  10594.     loadhi buffers +10
  10595.     loadhi files +20
  10596.     c:\qemm\loadhi /r:3 dvansi
  10597.     cd\
  10598.     IF %NODE%. == . SET NODE=1
  10599.     SET DSZLOG=XFER-%NODE%.DEF
  10600.     xu dv
  10601.     SET PROMPT=$P$G
  10602.     SET TEMP=C:\DOS
  10603.     cls
  10604.     c:\dv\xdv
  10605.  
  10606.     5.  If you have followed the above instructions all that is left to do is 
  10607.     configure RBBS-PC with 8 nodes.  Once that is completed your system is 
  10608.     ready to go.
  10609.  
  10610.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 22-6UPLOADED FILE TIPSPage 22-6
  10611.  
  10612.     22. UPLOADED FILE TIPS
  10613.     ----------------------
  10614.     Every  SysOp  should assume  that  any file  uploaded  to him  that  can be
  10615.     executed (i.e. .BAS,  .COM, .EXE) has the capability of  destroying all the
  10616.     files available  to the  PC it  is executed on.   This  may be  because the
  10617.     documentation  is  in error, the  program was executed incorrectly,  or the
  10618.     program was designed to be malicious.  It behooves every SysOp to know what
  10619.     every uploaded  file does in order to protect  not only the RBBS-PC system,
  10620.     but its users.
  10621.  
  10622.     DUE WARNING AND SYSOP'S LEGAL LIABILITY                           Page 23-1
  10623.  
  10624.     23. DUE WARNING AND SYSOP'S LEGAL LIABILITY
  10625.     -------------------------------------------
  10626.     While no definitive case-law or legislation exists defining the liabilities
  10627.     of System Operators, every SysOp should assume that they are as responsible
  10628.     for their own actions when  running an electronic bulletin board system  as
  10629.     they would be for  any other action as a  citizen of the United States  who
  10630.     chooses to exercise their right  to freedom of speech.   One of the  unique
  10631.     features of RBBS-PC  is that users have  to OVERTLY register  themselves --
  10632.     even when  the RBBS-PC is  "open" to the general  public.  This  gives each
  10633.     SysOp the opportunity to give every user "due notice" and require each user
  10634.     to actively acknowledge such notice.  Every SysOp should consider the legal
  10635.     issues, and provide proper notice to all callers.
  10636.  
  10637.     COMPILING AND LINKING RBBS-PC                                     Page 24-1
  10638.  
  10639.     24. COMPILING AND LINKING RBBS-PC
  10640.     ---------------------------------
  10641.     RBBS-PC source code is distributed along with the executable program  RBBS-
  10642.     PC.EXE.  It  is NOT necessary to  recompile or re-link RBBS-PC  in order to
  10643.     utilize RBBS-PC.   This section is intended for  those hardy few who choose
  10644.     to modify the source  and recompile it.  Remember only  what is distributed
  10645.     is supported -- anything else is strictly yours to debug!
  10646.  
  10647.     RBBS-PC's source  code is compilable by the  Microsoft QuickBASIC Compiler,
  10648.     version 2.01 and higher.   However Microsoft's QuickBASIC Compiler  version
  10649.     3.0  is the  compiler  used to  generate  the .EXE  files distributed  with
  10650.     RBBS-PC because it appears to be the most  reliable.  Versions too buggy to
  10651.     use at all include 1.0, 2.0, and 4.0.
  10652.  
  10653.     The batch files MAKERBBS.BAT and MAKECNFG.BAT are included with the source
  10654.     to  recompile RBBS-PC and  CONFIG respectively.  They  are designed for use
  10655.     with QuickBasic 3.0 but instructions for other versions of the compiler are
  10656.     in them.   The DTR patch described in  Appendix G should be  applied before
  10657.     you compile RBBS-PC.
  10658.  
  10659.     LIMITED LICENSE                                                   Page 25-1
  10660.  
  10661.     25. LIMITED LICENSE
  10662.     -------------------
  10663.     The RBBS-PC software is  copyrighted but A LIMITED  LICENSE IS GRANTED  and
  10664.     each user is free to use and share it under the following conditions:
  10665.  
  10666.     1. You may NOT distribute RBBS-PC in modified form.
  10667.     2. You may NOT charge a fee for RBBS-PC itself, and
  10668.     3. You MUST retain all references to the copyright and authors.
  10669.  
  10670.     Please distribute the original version (or update thereof) of the  program.
  10671.     If you have changes please distribute them using the conventions  described
  10672.     in section 1.4.  This is necessary so that future  revisions can be  easily
  10673.     added to the system without requiring the entire program.
  10674.  
  10675.     Please do NOT resequence the program.  All revisions will  be as files that
  10676.     replace  the base program  or update thereof and  the existing line numbers
  10677.     will be referenced when describing new fixes and enhancements.
  10678.  
  10679.     LIMITED WARRANTY                                                  Page 26-1
  10680.  
  10681.     26. LIMITED WARRANTY
  10682.     --------------------
  10683.     The  RBBS-PC program  is provided  "as is"  without warranty  of  any kind,
  10684.     either   expressed or  implied, including  but not  limited to  the implied
  10685.     warranties of merchantability and  fitness for a  particular purpose.   The
  10686.     entire risk as to  the quality and performance  of the program is with  the
  10687.     user, and should  the program prove defective, the user and not the authors
  10688.     will assume the entire cost of all necessary remedies.  None of the authors
  10689.     warrant that  the functions contained in  the program will meet  any users'
  10690.     requirements or that  the operation of the program will be uninterrupted or
  10691.     error-free.  In any case, each author's entire liability will be limited to
  10692.     the total amount of money the individual user paid directly and  explicitly
  10693.     to each author for the use of RBBS-PC.
  10694.  
  10695.     THE HISTORY BEHIND RBBS-PC                                        Page 27-1
  10696.  
  10697.     27. THE HISTORY BEHIND RBBS-PC
  10698.     ------------------------------
  10699.     Electronic  bulletin  board systems  have been  around ever  since personal
  10700.     computers existed.    The  first  ones  were  very  primitive  and  usually
  10701.     consisted of some posted  notices and maybe  allowed for on-line  messages.
  10702.     It must be remembered  that the IBM PC was only announced in August of 1981
  10703.     and  first became  available  in October  of  1981.   Therefore  it is  not
  10704.     surprising that  the  early history  of  BBS' is  associated  with  non-IBM
  10705.     personal computers.
  10706.  
  10707.     The "early history" of bulletin board systems began around  1978 in Chicago
  10708.     with the CBBS/Chicago (Computerized Bulletin Board System/Chicago).  It was
  10709.     created by Ward  Christensen and Randy Suess -- members of the Chicago Area
  10710.     Computer Hobbyist  Exchange (CACHE).  CBBS for the  CP/M is written in 8080
  10711.     Assembler language  (11,000 lines of  it) and,  like the early  versions of
  10712.     RBBS-PC (i.e.  prior to 12.5A), detects the baud rate and the parity of the
  10713.     user when he first  signs on from the three carriage  returns that the user
  10714.     must enter.
  10715.  
  10716.     About  the same time,  Bill Abney  wrote a BBS  for the Radio  Shack TRS-80
  10717.     Models I and II called Forum-80.
  10718.  
  10719.     The earliest BBS was written for the Apple (who else had personal computers
  10720.     in those days?)  called the "Apple Bulletin  Board System" (ABBS).   It was
  10721.     written by Craig Vaughn and Bill Blue.  They later created another bulletin
  10722.     board  system for the Apple II called the People's Message System (PMS).
  10723.  
  10724.     Another Apple bulletin  board system that came into being was for the Apple
  10725.     II, II+,  and  IIE as  well  as the  Franklin  Ace and  it  was called  the
  10726.     CommuniTree.   It was  written in  the FORTH  language by  Dean Gengle  and
  10727.     several others.
  10728.  
  10729.     When IBM announced  its first personal computer,  the IBM PC, in  August of
  10730.     1981, there was no BBS for it.  In  the summer of 1982, Brad Hanson found a
  10731.     prototype version  written by  Russ Lane  in IBM's BASIC  on David  Crane's
  10732.     Dallas RCP/M\CBBS system.   Brad added many fixes and modifications. In the
  10733.     first  half  of  1983,  many  members  of  the  Capital  PC  Users  Group's
  10734.     Communication  Special Interest  Group  (SIG) such  as  Larry Jordan,  Rich
  10735.     Schinnell, Gary Horwith, Jim Fry, Scot Loftesness, and Dorn Stickle further
  10736.     enhanced it and added XMODEM file transfer capability until it became known
  10737.     as RBBS-PC CPC09 in May of 1983.  At that time each feature or modification
  10738.     was identified by a new  version number; it still ran only under  the BASIC
  10739.     interpreter; and was both relatively slow (because of the interpreter)  and
  10740.     somewhat unstable (it would normally "crash" at least once each day).
  10741.  
  10742.     In June  of  1983, Tom  Mack received  a copy  of RBBS-PC  CPC09 from  Rich
  10743.     Schinnell.  Tom's efforts  were instrumental in making  RBBS-PC what it  is
  10744.     today - the  industry-standard PC-based BBS  software.  Other  contributors
  10745.     have come and gone, but Tom's contribution to RBBS-PC can never be matched.
  10746.  
  10747.     RBBS-PC's  impact has been to open an entirely new medium of communications
  10748.     between people.  Rather  than as an end in and of  itself, RBBS-PC has come
  10749.     to  serve as  a means  to an  end --  the  free exchange  of ideas.   On  a
  10750.     technical level  it is  certainly an example  that shows  "real programmers
  10751.     can/do  program  in  BASIC."   We  would  like to  think  that  RBBS-PC had
  10752.     something to do with IBM and Microsoft  coming out with new versions of the
  10753.     BASIC compiler that support communications,  sub-routines, local and global
  10754.     variables, file-locking in a networking environment, etc.
  10755.  
  10756.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 27-2
  10757.  
  10758.     RBBS-PC represents a fundamental cornerstone, not just a phase, in what can
  10759.     be viewed  as a "social renaissance."    RBBS-PC  eliminates those barriers
  10760.     that  had  previously inhibited  the "exchange"  of information  within our
  10761.     society.   RBBS-PC  provides every  personal  computer owner  with his  own
  10762.     "soap-box"  in  a   national  Hyde  Park.    Previously   the  channels  of
  10763.     communication  had  built-in  barriers to  "exchange";  with  RBBS-PC those
  10764.     barriers begin to cease to exist.
  10765.  
  10766.     While only  the most  fanatical RBBS-PC trivia  experts may  be interested,
  10767.     here is the chronology:
  10768.  
  10769.     RBBS-PC   Initial         Major Enhancements
  10770.     Version   Release
  10771.     Number     Date
  10772.  
  10773.     10.0      07/04/83  RBBS-PC first written to be compilable by IBM's BASIC
  10774.                         compiler, version 1.0
  10775.  
  10776.     11.0      08/10/83  RBBS-PC restructured so that all parameters were
  10777.                         external (i.e. in the RBBS-PC.DEF) allowing  SysOps who
  10778.                         didn't want to spend the $300 for the BASIC compiler to
  10779.                         tailor RBBS-PC to their taste.  CONFIG.BAS was first
  10780.                         written to generate RBBS-PC.DEF.
  10781.  
  10782.     11.1      09/15/83  Jon Martin contributed UTSPACE.OBJ, a sub-routine that
  10783.                         allowed the compiled version of RBBS-PC to determine
  10784.                         the amount of free space available for uploading.
  10785.  
  10786.     11.2      10/01/83  The error trapping within RBBS-PC was completely re-
  10787.                         written to be more comprehensive.
  10788.  
  10789.     12.0      10/28/83  Tree-structured file directories and the ability to
  10790.                         detect that RBBS-PC was in a "MultiLink" environment
  10791.                         were incorporated.  "MultiLink" is a product of the
  10792.                         Software Link, Inc. which allows DOS 1.1, 2.0, 2.1, 3.0
  10793.                         and 3.1 to be "multi-tasking."
  10794.  
  10795.     12.1      12/18/83  The ability for a SysOp who signed on remotely to drop
  10796.                         (Versions  into DOS was added.  Also the "New" command
  10797.                         was added "A" to "F")that allowed users to determine
  10798.                         what new files had been made available since the last
  10799.                         time they were on.
  10800.  
  10801.     12.2      04/08/84  The security system designed by Ken Goosens was
  10802.                         incorporated.
  10803.  
  10804.     12.3      11/11/84  Up to nine RBBS-PCs can share the same files in either
  10805.                         a multi-tasking DOS environment (i.e. MultiLink from
  10806.                         the Software Link, Inc.) or in a local area network
  10807.                         environment (i.e. Corvus or Orchid).
  10808.  
  10809.     12.4      03/10/85  (Version A, A1, B) RBBS-PC's stature in the industry
  10810.                         became recognized  when, RBBS-PC was granted a license
  10811.                         by Microcom to incorporate their proprietary MNP
  10812.                         protocol.  "RBBS-PC compatibility" became a minimum
  10813.                         criteria for the introduction of products by many
  10814.                         companies.  RBBS-PC introduces 300/1200/2400 BAUD
  10815.  
  10816.     THE HISTORY BEHIND RBBS-PC                                        Page 27-3
  10817.  
  10818.                         support in 12.4A before most such modems were generally
  10819.                         available.
  10820.  
  10821.     12.5      07/14/85  (Versions A and B).  36  copies of RBBS-PC could share
  10822.                         the same files in a network environment. RBBS-PC
  10823.                         automatically answers the phone and no longer requires
  10824.                         each caller to enter up to 3 carriage returns in order
  10825.                         for RBBS-PC to detect the users baud rate and parity. 
  10826.                         Logon to RBBS-PC has been made much more efficient with
  10827.                         the USERS file no longer being searched sequentially
  10828.                         and the MESSAGES file no longer being read three times. 
  10829.                         Version 12.5B, released August 25, 1985, WAS THE LAST
  10830.                         VERSION COMPILABLE BY VERSION 1.0 OF THE IBM BASIC
  10831.                         COMPILER!
  10832.  
  10833.     13.1      12/01/85  IBM BASIC compiler and Microsoft's QuickBASIC Version
  10834.                         1.0 supported.  XMODEM with CRC was added as a
  10835.                         file-transfer protocol as well as the ability to
  10836.                         display on the color monitor of the PC running RBBS-PC
  10837.                         the color/graphics that the remote user sees exactly as
  10838.                         he  sees them.
  10839.  
  10840.     14.1      03/16/86  (Versions A, B, C, and D)  RBBS-PC's internal structure
  10841.                         was split into two parts - RBBS-BAS for the main-line
  10842.                         source code and logic, and a RBBS-SUB.BAS for commonly
  10843.                         called subroutines.  Support for on-line
  10844.                         questionnaires, auto-downloading, and the KERMIT
  10845.                         protocol were also included as well as the option to
  10846.                         utilize assembly language subroutines for better
  10847.                         performance over their BASIC counterparts.
  10848.  
  10849.     15.1      03/15/87  File Management System for directories added.  User
  10850.                         subscription management added.  The ability to run as a
  10851.                         local application on a network, configurable command
  10852.                         letters, the ability to use any field or to define a
  10853.                         new field to identify callers, the ability to
  10854.                         individuate callers having the same ID, multiple
  10855.                         uploads on a single command line, new A)nswer and
  10856.                         V)erbose ARC list commands, context sensitive  help, 
  10857.                         and a new subsystem  for software "libraries".
  10858.  
  10859.     16.1      03/27/88  (Version A) Major enhancements included the addition of
  10860.                         "sub-boards" (i.e. conferences with their own
  10861.                         bulletins, file areas, menus etc.), a programmable user
  10862.                         interface, the capability to have SysOp-written
  10863.                         "sub-menus" for any command, the ability to hang off of
  10864.                         a public data network such as Compuserve's as a "node",
  10865.                         the incorporation of "personal downloads" (i.e. files
  10866.                         only specific individuals could list/download), the
  10867.                         ability to vary the amount of time a user has on the
  10868.                         system by the time of day the user logs on, the
  10869.                         capability of preventing any message (public or
  10870.                         private) from being read until the SysOp has reviewed
  10871.                         it, an enhanced CONFIG utility with many more options,
  10872.                         XMODEM/1K protocol built-in to RBBS-PC's main-line
  10873.                         source code, the ability to automatically add users to
  10874.                         conferences, and support for The Software Link's
  10875.                         MultiLink  Version 4.0. Despite all these enhancements,
  10876.  
  10877.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 27-4
  10878.  
  10879.                         the BASIC RBBS-PC code was significantly enhanced such
  10880.                         that it only requires 268K to run -- allowing two
  10881.                         copies to run in multi-tasking DOS environments that
  10882.                         have 640K available. 
  10883.  
  10884.     17.1      10/02/88  (Versions A, B, C, and D). Major enhancements were made
  10885.                         in the System Support area, and the support for up to
  10886.                         eight communications ports; built-in interfaces to
  10887.                         external communications drivers such as a FOSSIL
  10888.                         driver; automatic notification of the SysOp when
  10889.                         specific users log on; improved automatic invocation of
  10890.                         other applications based on time of day; and
  10891.                         SysOp-selectable time delays that users must wait
  10892.                         before being able to download or exit to a door. 
  10893.                         RBBS-PC's unique programmable user interface (PUI) was
  10894.                         enhanced to support "macros" (i.e. use a single command
  10895.                         to invoke any number of RBBS-PC commands);
  10896.                         SysOp-selectable colors for all prompts and messages
  10897.                         (i.e. "colorization"); caller-selectable "colorization"
  10898.                         for text (i.e. color, bold or normal, highlighting of
  10899.                         text, etc.);  and personalized text files (i.e. text
  10900.                         files that can dynamically adapt to include information
  10901.                         unique to each caller).  The messaging within RBBS-PC
  10902.                         was enhanced to notify each caller that logs on of the
  10903.                         number of new messages and how many are addressed to
  10904.                         the caller for the conferences to which the caller
  10905.                         belongs.  The text editor function for messages was
  10906.                         enhanced to allow any character to be edited.  RBBS-
  10907.                         PC's standard "threaded" message search now also scans
  10908.                         the text of the messages for matches.  The RBBS-PC file
  10909.                         subsystem was also significantly enhanced to include an
  10910.                         unlimited number of installable protocols; batch
  10911.                         downloading for such protocols that support this (i.e.
  10912.                         Zmodem, Megalink, and Sealink); and control of callers
  10913.                         ability to download based on either the number of
  10914.                         characters or the ratio of the callers downloads to
  10915.                         uploads.
  10916.  
  10917.     17.2      05/28/89  (Versions A-B).  Major enhancements consisted of
  10918.                         increased flexibility in invoking external applications
  10919.                         (i.e. "DOORS"), on-line questionnaires, RBBS-PC command
  10920.                         "macros", the integration (using the enhanced
  10921.                         questionnaires and "macros") of on-line data base
  10922.                         facilities into RBBS-PC, as well as extended support in
  10923.                         RBBS-PC's file system to support ANY file compaction
  10924.                         technique (i.e. .ARC, .ZOO, .ZIP, etc.) -- including
  10925.                         allowing on-line users to list text files that have
  10926.                         been included within a compacted file.  RBBS-PC's
  10927.                         "NETMAIL" interface to store and forward messaging
  10928.                         systems (i.e. FIDO MAIL, etc.) was enhanced.  Within
  10929.                         the messaging subsystem numerous enhancements were
  10930.                         added including the ability to quote all or part of a
  10931.                         message that the caller was replying to.  RBBS- PC's
  10932.                         file subsystem was improved to allow the system to be
  10933.                         configured such that all uploads were automatically
  10934.                         checked/verified (by whatever utility the SysOp wanted
  10935.                         to use).  RBBS-PC commitment to the concept of "users
  10936.                         helping users" was demonstrated once again with the
  10937.  
  10938.     THE HISTORY BEHIND RBBS-PC                                        Page 27-5
  10939.  
  10940.                         incorporation of support for the Computalker and
  10941.                         HEARSAY 1000 speech boards so that seeing-impaired
  10942.                         SysOps could hear (in a meaningful way) the activity
  10943.                         occurring on their RBBS-PC bulletin boards. 
  10944.  
  10945.     17.3      02/11/90  (versions  original,  A,  B and  C)  Fast  File Search:
  10946.                         sub-second file name looks for over 32,000 downloadable
  10947.                         files; up to 10,098 downloadable areas.  Variable names
  10948.                         were  changed to MicroSoft  standard format using upper
  10949.                         and  lower  case letters  only,  and no  internal dots.
  10950.                         Some  50  bugs  were  fixed.     News  facility  added.
  10951.                         Universal command stacking.   Default extension on file
  10952.                         requests.   Enhanced macros  and  SmartText.   Defaults
  10953.                         added  for multiple modems.    Support  for 38,400 baud
  10954.                         through Fossil driver.
  10955.  
  10956.     17.4      03/22/92  (versions original)   Carbon copy  for mail.   Personal
  10957.                         uploads,  with notification  on  logon.    Distribution
  10958.                         lists for mail and  uploads.   Linked conferences,  and
  10959.                         global commands across linked conferences.   Bank time.
  10960.                          FMS and personal directories have all the capabilities
  10961.                         of each.    File  and mail marking.    Ability  to give
  10962.                         access to  the BBS  is blocks of  total session  time. 
  10963.                         Changeable city/state.  Auto-ansi detect.  Full support
  10964.                         for   12,000   and   14,400  baud.         Support  for
  10965.                         distinguishing modem-to-modem and  modem-to-pc speeds. 
  10966.                         SysOp can view call callers files from any node.
  10967.  
  10968.     28. PROPOSED RBBS-PC SYSOP CONFERENCE
  10969.     -------------------------------------
  10970.     As the modem community continues to evolve, RBBS-PC must change to meet the
  10971.     needs of  all users.  For years, RBBS-PC  has survived with file structures
  10972.     that  are "adequate."    However, each  passing  year brings  new uses  for
  10973.     RBBS-PC that place demands on the internal structure of the system.
  10974.  
  10975.     It is  time  to discuss  the  future of  RBBS-PC.   We  would  like to  see
  10976.     RBBS-PC's future written  in the same spirit that RBBS-PC  is developed, by
  10977.     involving the users.  If possible, a SysOp conference can coincide with the
  10978.     internal  restructuring  of RBBS-PC.    Topics  can  be discussed  such  as
  10979.     RBBS-PC's support of netmail, enhanced messaging features, and  an enhanced
  10980.     USER record  structure.    This  conference  cannot  succeed  without  your
  10981.     support.  The timing, location, and agenda for such a meeting is left up to
  10982.     the RBBS-PC community, but may we suggest a winter retreat in Florida?  Who
  10983.     wouldn't mind spending a few days in the sun, and discussing the  future of
  10984.     RBBS-PC at the same time?
  10985.  
  10986.     If you are interested in participating, write me at the following address:
  10987.  
  10988.          Doug Azzarito
  10989.          RBBS-PC SysOp Conference
  10990.          2399 N.W. 30th Road
  10991.          Boca Raton, FL 33431-6212
  10992.  
  10993.     Or call my BBS: (407) 487-3441 or 487-3442.
  10994.  
  10995.     I would especially like to hear from anyone with experience in organizing a
  10996.     conference.  If  you have gone  through the process  of booking hotels  and
  10997.  
  10998.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                  Page 27-2
  10999.  
  11000.     meeting space,  or other things  I probably won't  think of, PLEASE  let me
  11001.     know!
  11002.  
  11003.     RBBS-PC, THE LARGEST SOFTWARE HOUSE IN THE WORLD                  Page 29-1
  11004.  
  11005.     29. RBBS-PC, THE LARGEST SOFTWARE HOUSE IN THE WORLD
  11006.     ----------------------------------------------------
  11007.     RBBS-PC'S "Userware" concept is founded on the principle stated in  section
  11008.     1.1 -- "software which  is shared becomes better than it  was."  Relying on
  11009.     Federal copyright protection, we believe that RBBS-PC's source code can  be
  11010.     distributed  without the  risk of  "loss  of ownership"  (i.e. it  becoming
  11011.     "public domain").  We believe  all software (commercial and non-commercial)
  11012.     should be  distributed  as both  compiled/executable files  and with  their
  11013.     source code.   With  few exceptions, RBBS-PC's  copyrights have  never been
  11014.     violated --  this is  due more  to the  fact that  RBBS-PC enthusiasts  are
  11015.     ever-vigilant of  RBBS-PC's  copyrights rather  than  due to  any  lack  of
  11016.     attempts  to  "sell" RBBS-PC  or  RBBS-PC look-alikes  to  the unsuspecting
  11017.     public.
  11018.  
  11019.     Incorporating  these  new features  and  ideas  into  each new  release  of
  11020.     RBBS-PC,  making sure  that upward  compatibility with  earlier version  of
  11021.     RBBS-PC exists, as well as maintaining RBBS-PC's copyright, are all  things
  11022.     that the authors accept  the responsibility for.  However,  it is RBBS-PC's
  11023.     "support staff"  (i.e.  all  those  who  enhance  RBBS-PC  and  share  such
  11024.     enhancements) that  continues to  make RBBS-PC  a unique  experiment in  PC
  11025.     software.
  11026.  
  11027.     No one should feel that the possibilities for RBBS-PC have even begun to be
  11028.     exhausted.  In fact, we are absolutely certain that even as this is written
  11029.     innovative enhancements are being created for RBBS-PC.  It is our sincerest
  11030.     hope  that if RBBS-PC  continues to succeed  within the IBM  PC industry in
  11031.     becoming   the  "bulletin-board  standard,"  software  vendors  will  begin
  11032.     examining the reasons for RBBS-PC's success and come to understand that:
  11033.  
  11034.        - The best form of software support is user support
  11035.        - The best source for software enhancements are from it's users
  11036.        - The best software continually adopts itself to users needs
  11037.        - The best way to minimize software development is to distribute  source
  11038.          code.
  11039.  
  11040.     Each RBBS-PC  system operator  has the opportunity  to affect  what RBBS-PC
  11041.     becomes in the future.  Many  already have.  RBBS-PC continues to grow  and
  11042.     expand because hundreds (and quite possibly thousands) of SysOps spend  the
  11043.     time and trouble  not only to modify RBBS-PC to meet  their needs, but also
  11044.     to share  these modifications with  others.  We  do not  know of any  other
  11045.     software  for  the  IBM PC  that  has  such a  vast  number  of programmers
  11046.     supporting  it.    In  section  1.3, we  name  many  such  individuals  and
  11047.     acknowledge that there are  a lot more!  With the  structured code that the
  11048.     new BASIC compilers  allow, even more RBBS-PC system  operators are invited
  11049.     to contribute.  Take the time!  Make the difference!
  11050.  
  11051.     APPENDIX A -- RBBS-PC Record Formats                               Page A-1
  11052.  
  11053.                                      APPENDICES
  11054.     APPENDIX A -- RBBS-PC Record Formats
  11055.     ------------------------------------
  11056.     This appendix  is intended to  document the record  formats of some  of the
  11057.     more significant records used within RBBS-PC.  As such, it is intended more
  11058.     as a "programmers'  guide" for those  who wish to  write RBBS-PC  utilities
  11059.     rather  than as "user documentation."  No record format is "sacrosanct" and
  11060.     any  of them may be  changed in future releases.   However such changes are
  11061.     not made  capriciously and,  when they  are made,  are accompanied  by some
  11062.     utility program that  will allow the old  files to be reformatted  into the
  11063.     new format.
  11064.  
  11065.     The MESSAGES file contains the messages that have been left on RBBS-PC.  It
  11066.     is a random  access file with 128-byte  records.  The  first record of  the
  11067.     MESSAGES  file  acts   as  RBBS-PC's  "checkpoint"  record.    The  records
  11068.     immediately following  this first  record are  the RBBS-PC  "node" records.
  11069.     Each  "node"  record  represents  the  activity/options associated  with  a
  11070.     particular copy of RBBS-PC ("node").  There  can be up to thirty-six copies
  11071.     of RBBS-PC running simultaneously, therefore there can be up to  thirty-six
  11072.     "node" records following the "checkpoint" record.  
  11073.  
  11074.     The MESSAGES file has the following logical format:
  11075.  
  11076.                +----------------------------------------------+
  11077.     Record #1  |  RBBS-PC "checkpoint" record                 |
  11078.                +----------------------------------------------+
  11079.     Record #2  |  RBBS-PC "node" record for node # 1          |
  11080.                |                                              |
  11081.                |            up to                             |
  11082.                |                                              |
  11083.                |  RBBS-PC "node" record for node # 9          |
  11084.                |  RBBS-PC "node" record for node # 0          |
  11085.                |  RBBS-PC "node" record for node "A"          |
  11086.                |                                              |
  11087.                |            up to                             |
  11088.                |  RBBS-PC "node" record for node "Z"          |
  11089.                |                                              |
  11090.                +----------------------------------------------+
  11091.                |  First Record in Message portion of file     |
  11092.                +----------------------------------------------+
  11093.                |                                              |
  11094.                \  Message records that have been used         \
  11095.                \                                              \ 
  11096.                |                                              |
  11097.                +----------------------------------------------+
  11098.                |  Record available for next message           |
  11099.                +----------------------------------------------+
  11100.                |  Last record available in MESSAGES file      |
  11101.                +----------------------------------------------+
  11102.  
  11103.     The FIRST RECORD of  the "MESSAGES" file acts as a  "checkpoint" record for
  11104.     all the  multiple RBBS-PC's  that may  be sharing  the  MESSAGES and  USERS
  11105.     files.  It contains information  critical  to  maintaining the integrity of
  11106.     these two files.  The layout of RBBS-PC   Message  File  Record Number 1 is
  11107.     as follows:
  11108.  
  11109.     Position Length           Description
  11110.  
  11111.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page A-2
  11112.  
  11113.       1 -  8     8   Number assigned to the last message entered
  11114.       9 - 10     2   Security level required to be auto-added to a conference
  11115.      11 - 20    10   Current caller number
  11116.      21 - 23     3   Type of message security allowed.  "/" means prohibited,
  11117.                            byte 21 controls public, 22 private, 23 password.
  11118.                            Anything other than "/" means permitted.
  11119.      24   56    33   --- RESERVED FOR FUTURE USE ----
  11120.      57 - 61     5   Count of the number of USER records used
  11121.      62 - 67     6   --- RESERVED FOR FUTURE USE ----
  11122.      68 - 74     7   Record Number where "messages" portion of the 
  11123.                            MESSAGES file begins
  11124.      75 - 81     7   Record Number of the next available record in the 
  11125.                            MESSAGES file where the next message may be written
  11126.      82 - 88     7   Record Number of the last record in the MESSAGES file
  11127.      89 - 95     7   Maximum number of messages allowed in the MESSAGES file
  11128.      96 -126    31   --- RESERVED FOR FUTURE USE ----
  11129.     127 -128     2   Maximum number of RBBS-PC's sharing this MESSAGES file
  11130.  
  11131.     As a programming reference, line numbers 1900 and 23000 of the BASIC source
  11132.     code  for  RBBS-PC.BAS contains  the  code  for reading  this  "checkpoint"
  11133.     record.
  11134.  
  11135.     Following  the first record of the MESSAGES file  are from one to 36 "node"
  11136.     records.    Each "node"  record contains  information   critical   to   the
  11137.     running of that copy of RBBS-PC associated with that "node".  The layout of
  11138.     each RBBS-PC  "node" record is as follows:
  11139.  
  11140.     Position Length          Description
  11141.  
  11142.       1 - 31    31  Name of last person on this copy of RBBS-PC
  11143.      32 - 33     2  SysOp available indicator (true or false)
  11144.      34 - 35     2  SysOp annoy indicator (true or false)
  11145.      36 - 37     2  SysOp is to be on next indicator (true or false)
  11146.      38 - 39     2  Line printer available indicator (true or false)
  11147.      40 - 41     2  Door's availability indicator (true or false)
  11148.      42 - 43     2  Eight bit transmission indicator (true or false)
  11149.      44 - 45     2  Caller's baud rate indicator:  1 =   300 bps
  11150.                                                    2 =   450 bps
  11151.                                                    3 =  1200 bps
  11152.                                                    4 =  2400 bps
  11153.                                                    5 =  4800 bps
  11154.                                                    6 =  7200 bps
  11155.                                                    7 =  9600 bps
  11156.                                                    8 = 12000 bps
  11157.                                                    9 = 14400 bps
  11158.                                                    10= 16800 bps
  11159.                                                    11= 19200 bps
  11160.                                                    12= 38400 bps
  11161.      46 - 47     2  Upper case only indicator (true or false)
  11162.      48 - 51     4  Number of bytes transferred (from external protocols)
  11163.        52        1  Batch transfer indicator (not zero = batch)
  11164.      53 - 54     2  Graphics indicator (0 = text, 1 = full ASCII, 2 = color)
  11165.      55 - 56     2  SysOp indicator (-1 = SysOp)
  11166.         57       1  Activity indicator (I=inactive, A=active)
  11167.      58 - 59     2  SNOOP on indicator (true or false)
  11168.      60 - 64     5  Baud that RBBS-PC talks to the modem at (single precision)
  11169.      65 - 67     3  Time user logged onto the system (HH:MM:SS)
  11170.      68 - 71     4  --- RESERVED FOR FUTURE USE ---
  11171.  
  11172.     APPENDIX A -- RBBS-PC Record Formats                               Page A-3
  11173.  
  11174.      72 - 73     2  Private door indicator (true or false)
  11175.        74        1  Type of transfer to external program:
  11176.                                  0 = none
  11177.                                  1 = download a file
  11178.                                  2 = upload a file
  11179.                                  3 = external registration program
  11180.        75        1  First letter of file transfer protocol
  11181.        76        1  --- RESERVED FOR FUTURE USE ----
  11182.      77 - 78     2  Last date, MM-DD-YY, that RBBS-PC exited to DOS (packed)
  11183.      79 - 85     7  --- RESERVED FOR FUTURE USE ----
  11184.      86 - 90     5  Last time, HH:MM, that RBBS-PC exited to DOS
  11185.      91 - 92     2  Reliable mode indicator (true or false)
  11186.      93 - 116   24  Work area that normally contains caller's City and State,
  11187.                     but when temporarily exiting RBBS-PC used as:
  11188.                     Position Length          Description
  11189.                      93 -100     8  Programmable user interface file name
  11190.                     101 -102     2  Local user indicator (2 hex 0Ds if local)
  11191.                     103 -104     2  Local user mode (true if using COM0)
  11192.                     105 -112     8  Name of current "conference" or "sub-board"
  11193.                     113 -114     2  Time credits (minutes)
  11194.                     115 -116     2  --- UNUSED ----
  11195.     117 -118     2  Subsystem index of last subsystem user was in.
  11196.     119 -124     6  Month, day, and year, MMDDYY, exited to external protocol
  11197.     125 -128     4  Hour and minute, HHMM, exited to external protocol
  11198.  
  11199.     As a  programming  reference and  in  order to  see  how these  fields  are
  11200.     set/used  in the node  records, review the following  line numbers in RBBS-
  11201.     PC.BAS --  150, 200, 400,  420, 842,  and 13555.   In addition, review  the
  11202.     following subroutines as well:
  11203.  
  11204.                   Source Code     Subroutine
  11205.                  RBBSSUB2.BAS ---- WhosOn
  11206.                  RBBSSUB3.BAS ---- FindFKey
  11207.                                    SaveProf
  11208.                                    ReadProf
  11209.                  RBBSSUB4.BAS ---- TimedOut
  11210.  
  11211.     A message  within  the messages  file  consists of  1-255  MESSAGE  HEADERS
  11212.     followed by  the  text of the message.   The RBBS-PC Message File  "message
  11213.     header" record  layout is as follows:
  11214.  
  11215.     Position Length        Description
  11216.  
  11217.         1        1  Contains an "*" for read-only messages, blank otherwise
  11218.       2 -  5     4  Message number of this message
  11219.       6 - 36    31  The name of the person the message is from
  11220.      37 - 58    22  The name of the person to whom the message is sent
  11221.      59 - 66     8  Time of day that the message was sent (HH:MM:SS)
  11222.      67 - 67     1  Number of message headers (1-255).  Use ASCII value.
  11223.      68 - 75     8  Date the message was sent (MM-DD-YY)
  11224.      76 -100    25  Subject of the message
  11225.     101 -115    15  Password for the message (if any)
  11226.     116 -116     1  "Active" message indicator = ASCII 225
  11227.                     "Killed" message indicator = ASCII 226
  11228.     117 -120     4  Number of 128-byte records for this message --
  11229.                         including the "message header" record.
  11230.     121 -122     2 Minimum security level to read message
  11231.     123 -125     3 Date (packed) the message was last read (MM/DD/YY)
  11232.  
  11233.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page A-4
  11234.  
  11235.     126 -128     3 Time (packed) the message was last read (HH:MM:SS)
  11236.  
  11237.     As a programming reference, review lines 3405,  3460, 3530, and 8076 of the
  11238.     BASIC source code  for RBBS-PC.BAS to see  how these fields are  set.  Each
  11239.     record  following the MESSAGE  HEADER records is a  MESSAGE TEXT record and
  11240.     consists of  128 characters.  Each of  these 128-byte message text" records
  11241.     contains the message text.  The end of each line in the message is followed
  11242.     by an RBBS-PC "end-of-line" indicator which is equal to an ASCII 227.  This
  11243.     allows RBBS-PC  to  "pack" multiple  message  lines in  a  single  128-byte
  11244.     record.
  11245.  
  11246.     Information unique to  each person who  logs on is  contained in the  USERS
  11247.     file (a random file of 128-byte records).  Each records is as follows:
  11248.  
  11249.     Position Length           Description
  11250.       1 - 31    31  Users first and last name (separated by a blank).
  11251.      32 - 46    15  Users password for logon.
  11252.      47 - 48     2  Users security level (permanent).
  11253.      49 - 62    14  Users logon options (see detail breakdown below).
  11254.      63 - 86    24  City and state from which the user is calling.
  11255.      87 - 88     2  ---- RESERVED FOR FUTURE USE ----
  11256.      89 - 89     1  Number of minutes banked.  0 to 255.  Use ASCII value.
  11257.      90 - 93     4  Number of files downloaded today
  11258.      94 - 97     4  Number of bytes downloaded today
  11259.      98 -101     4  Number of bytes downloaded (ever).
  11260.     102 -105     4  Number of bytes uploaded (ever).
  11261.     106 -119    14  Date and time the user was last on (MM-DD-YY HH:MM).
  11262.     120 -122     3  Date the user last listed a directory.
  11263.     123 -124     2  Number of files downloaded (ever).
  11264.     125 -126     2  Number of files uploaded (ever).
  11265.     127 -128     2  Elapsed time the user was on for day of last access.
  11266.  
  11267.     Line 9400 of the BASIC source code for  RBBS- PC.BAS contains the code  for
  11268.     opening this file.   The user's logon options, positions 49 through 62, are
  11269.     utilized as follows:
  11270.  
  11271.     Position Length           Description
  11272.      49 - 50     2   Number of times the user has logged on
  11273.      51 - 52     2   Last message number read by the user
  11274.         53       1   Protocol Preference (blank if none, otherwise letter)
  11275.         54       1   Graphics Preference (see meaning below)
  11276.      55 - 56     2   Margin length for this users messages
  11277.      57 -  58     2    Bit Flag -- this 16-bit field  is denoted by bit 0 being
  11278.     the  least significant  (i.e.  right-most bit)  and bit  15 being  the most
  11279.     significant (i.e.  left-most bit).   These "bit  flags" have  the following
  11280.     meanings (0=off, 1=on):
  11281.  
  11282.                    BIT  Definition (what ON means) 
  11283.                     0   Bell prompts
  11284.                     1   "Expert" mode
  11285.                     2   Nulls
  11286.                     3   Upper case only
  11287.                     4   Line feeds
  11288.                     5   Skip old bulletins
  11289.                     6   Check new files on logon
  11290.                     7   Use autodownload
  11291.                     8   Required questionnaire answered
  11292.                     9   Mail Waiting
  11293.  
  11294.     APPENDIX A -- RBBS-PC Record Formats                               Page A-5
  11295.  
  11296.                    10   Highlighting enabled
  11297.                    11   "TurboKey" enabled
  11298.                    12   Personal uploads waiting
  11299.                  13-15  RESERVED FOR FUTURE USE
  11300.  
  11301.      59 - 60     2   Date subscription began
  11302.         61       1   Page length to use for this users terminal
  11303.         62       1  ------- RESERVED FOR FUTURE USE ---------
  11304.                 ---
  11305.                 14
  11306.  
  11307.     The meaning of the graphics preference byte depends on the numeric value it
  11308.     has.   The caller can specify, for text files, no graphics, ascii graphics,
  11309.     or ansi  color graphics;  then the color,  and then whether normal or bold.
  11310.     For example, if graphics preference for text files is color, and preference
  11311.     for normal text  is light yellow, graphics preference stored is 38.  Colors
  11312.     are Red, Green, Yellow, Blue, Purple, Cyan, and White. 
  11313.  
  11314.                              normal                  bold 
  11315.        graphics\color  R  G  Y  B  P  C  W    R  G  Y  B  P  C  W 
  11316.         none ......   30 33 36 39 42 45 48 | 51 54 57 60 63 66 69 
  11317.        ascii ......   31 34 37 40 43 46 49 | 52 55 58 61 64 67 70 
  11318.         ansi ......   32 35 38 41 44 47 50 | 53 56 59 62 65 68 71
  11319.  
  11320.     APPENDIX B -- RBBS-PC Software Registration                        Page B-1
  11321.  
  11322.     APPENDIX B -- RBBS-PC Software Registration
  11323.     -------------------------------------------
  11324.     Frequent  inquires  are  made  asking  how  many  RBBS-PC  systems  are  in
  11325.     operation, or about  a "master" list of RBBS-PC's.  Since RBBS-PC is freely
  11326.     distributed,  attempts to get  SysOps to register the  product have been in
  11327.     vain.    However, in  an  attempt to  help  SysOps  (and potential  SysOps)
  11328.     everywhere find configurations that  most closely match  their own, and  to
  11329.     help users find more RBBS-PC systems, we ask that you register your copy of
  11330.     RBBS-PC.  The information you supply will be used to maintain an "ACCURATE"
  11331.     listing of all  publicly available RBBS-PC  systems.   The success of  this
  11332.     endeavor depends  on you.   Please complete the  BBS info  file LG-9999.DEF
  11333.     supplied with this release of RBBS-PC and send it to:
  11334.  
  11335.            RBBS-PC SOFTWARE REGISTRATION
  11336.            P.O. Box 31024
  11337.            Palm Beach Gardens, FL 33420-1024  U.S.A.
  11338.  
  11339.     To make sure your  registration is current, please remember to  send a copy
  11340.     of your registration form  at least once each year.  You  can also call The
  11341.     RBBS-PC technical support BBS  and upload a copy of  the form.   An  online
  11342.     database of all respondents will be available on the technical support BBS:
  11343.     (407) 487-3441 or 487-3442.
  11344.  
  11345.     If you need  a good reason to complete and return the information, read on!
  11346.     As RBBS-PC continues  to evolve,  we must make  decisions that will  affect
  11347.     you.  If we  know who you  are, and what your  environment is like, we  are
  11348.     less likely to introduce a new version of RBBS-PC that will not run in your
  11349.     environment!
  11350.  
  11351.     THE BBS IDENTIFICATION STANDARD
  11352.     -------------------------------
  11353.     To  help BBS list editors, and other  users searching for your BBS, we have
  11354.     started what we hope will be an industry standard.   Please implement it on
  11355.     your BBS.  Here's how:
  11356.  
  11357.       1) Complete the  LG-9999.DEF file  and place it  with your  other LGn.DEF
  11358.          files.
  11359.       2) Create a  user with  first name  "BBS", Last  name "VERIFY",  password
  11360.          "CALL".
  11361.       3) Set this user's SECURITY to -9999.
  11362.  
  11363.     Now, any time a BBS list editor calls for a quick check, he'll use the name
  11364.     BBS VERIFY  and a  password of  CALL.   Your BBS  will quickly  display the
  11365.     information he needs, and then hang up.  Any user who is curious about your
  11366.     BBS can do the  same.  If ALL BBS systems implement  this, keeping track of
  11367.     the fast moving BBS community will be much easier.  Please, do what you can
  11368.     to convince other SysOps to implement this simple procedure.
  11369.  
  11370.     APPENDIX C -- RBBS-PC Subscription Service                         Page C-1
  11371.  
  11372.     APPENDIX C -- RBBS-PC Subscription Service
  11373.     ------------------------------------------
  11374.     It  seems  that many  people absolutely  must  be on  the bleeding  edge of
  11375.     RBBS-PC  and demand  each  new version  as  soon as  possible  after it  is
  11376.     released.   For them you can order in advance  the next release of RBBS-PC.
  11377.     It will be mailed  anywhere by air mail  - overnight in the United  States,
  11378.     ordinary air mail elsewhere.   The charge for this  subscription upgrade is
  11379.     $25.
  11380.  
  11381.     Hopefully, this  service will  only  be used  by a  very, VERY  few!   Most
  11382.     releases have a few fixes that  get published within the first week or  two
  11383.     that they are out.   Because of this everyone is advised  to check back for
  11384.     fixes after each  release goes out.
  11385.  
  11386.     To obtain  this service for  the NEXT  release (it  does NOT  apply to  the
  11387.     current or previous releases) fill out the following form and send it along
  11388.     with  your check  or money  order  in U.S.  funds (no  purchase  orders are
  11389.     accepted and your canceled check is your only invoice).
  11390.         +------------------------------------------------------------------+
  11391.         | To: Capital PC Software Library   RBBS-PC Subscription Service to|
  11392.         |     51 Monroe Street              the NEXT release of RBBS-PC (if|
  11393.         |     Plaza East Two                any - and none are implied or  |
  11394.         |     Rockville, MD 28050           promised by this offer)        |
  11395.         |------------------------------------------------------------------|
  11396.         |Date Requested:                   Date Received:                  |
  11397.         |------------------------------------------------------------------|
  11398.         |To (Recipient's Name):                                            |
  11399.         |------------------------------------------------------------------|
  11400.         |Recipient's Phone Number (required): (      )        -            |
  11401.         |------------------------------------------------------------------|
  11402.         |Exact Street Address (no P.O. Box or P.O. Zip Code accepted)      |
  11403.         |                                                                  |
  11404.         |                                                                  |
  11405.         |------------------------------------------------------------------|
  11406.         | City                            | State or Country               |
  11407.         |                                 |                                |
  11408.         |------------------------------------------------------------------|
  11409.         | Signature (required)            | ZIP Code for Street Address    |
  11410.         |                                 |                                |
  11411.         +------------------------------------------------------------------+
  11412.           Note: this is not a promise that there will be any new releases.
  11413.  
  11414.     APPENDIX D -- Modems with RBBS-PC                                  Page D-1
  11415.  
  11416.     APPENDIX D -- Modems with RBBS-PC
  11417.     ---------------------------------
  11418.  
  11419.     Introduction
  11420.     ------------
  11421.     Modems are often  frustrating things  to get  working properly on  a BBS.  
  11422.     Some have hardware switches that  must be set.   When a SysOp finally  gets
  11423.     his own modem  to work with RBBS-PC,  he will often share  his discoveries.
  11424.     This appendix is a result of such sharing.
  11425.  
  11426.     Anchor Signalman Express (MK12)
  11427.     -------------------------------
  11428.     The following are the switch and jumper settings for the Modem.
  11429.  
  11430.         Switch 1 = Off
  11431.         Switch 2 = Off
  11432.         Switch 3 = On
  11433.         Switch 4 = On
  11434.         Switch 5 = On
  11435.         Switch 6 = On
  11436.         Switch 7 = On
  11437.         Switch 8 = On
  11438.  
  11439.     Everex Evercom 2400
  11440.     -------------------
  11441.     The Everex Evercom 24 is an internal 2400 BAUD modem.  It has 4 switches on
  11442.     the mounting bracket.  If you are using COM1 then all switches should be in
  11443.     the OFF position.  If you are using COM2 see the Installation Guide for the
  11444.     correct switch settings.
  11445.  
  11446.     The Evercom does not have non-volatile  memory like the Hayes 2400 and  the
  11447.     ATZ command will reset  the modem to factory defaults.  It is therefore not
  11448.     necessary to use CONFIG to  set the Hayes 2400  defaults.  Because of  this
  11449.     major difference you  must use CONFIG parameter 225  to change the standard
  11450.     modem defaults.  Select parameters 2 and 5 and enter the command just as it
  11451.     is but with  the addition of &D2.  This will instruct RBBS-PC to add &D2 to
  11452.     the  standard modem  initialization string  each time the  system recycles.
  11453.     Please note  that although the Evercom 24 manual  indicates that &D2 is the
  11454.     default that this is a misprint in their manual and &D0 is the real default
  11455.     for the &D  command.  Parameter  7 can be  ignored since they  this is  for
  11456.     battery backed up modems only. 
  11457.  
  11458.     NOTE: Make sure  that &D2 is inserted  immediately following the "AT"  when
  11459.     modifying parameters 2 and 5 of parameter 225!
  11460.  
  11461.     A special thanks goes to Carl Margolis (Everex) for his help in identifying
  11462.     these restrictions so that Evercom 24 users can now reliably use RBBS-PC.
  11463.  
  11464.     Do not select parameter 225 if you are using an Everex 1200 BAUD modem.
  11465.  
  11466.     FASTCOMM 2496 Turbo Modem
  11467.     -------------------------
  11468.     The FASTCOMM  2496 9600  and 19200  baud modems  work with  RBBS-PC without
  11469.     modifications to RBBS-PC.  However some unusual  quirks were noted with the
  11470.     FASTCOMM hardware.  The modems would  NOT follow terminal baud rate in  the
  11471.     command mode  if the  transition was  from 300  to 9600  (or 19,200)  baud.
  11472.     Therefore, if RBBS-PC were configured to initially operate at 9600 baud, it
  11473.     would not properly reset  after a 300 baud call.  It would, however, follow
  11474.  
  11475.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page D-2
  11476.  
  11477.     all other changes  within the range of  RBBS-PC.  If  it was configured  to
  11478.     initially answer at both 2400 and 4800 baud and it worked equally well with
  11479.     calls  at  300, 1200,  2400,  4800, 9600  and  19200 baud  for  both cases.
  11480.     Therefore set CONFIG parameter 208 to 2400 baud!
  11481.  
  11482.     It is recommended that CONFIG parameter 224 be set to answer on one ring!
  11483.  
  11484.     Specific instructions for modem set up are as follows:
  11485.  
  11486.       1) Using  the BASIC  program  SETFC.BAS  below,  set  the  default  modem
  11487.          settings.  This  can  also  be done  manually  from  a  communications
  11488.          program.   The  speed that  is  used to  establish  the default  modem
  11489.          settings is the speed to which  the modem defaults on reset and  power
  11490.          on.   It is best to do this setup  at the same speed that RBBS-PC uses
  11491.          as its default speed, namely 2400 baud.   In any case do not do  it at
  11492.          9600 baud.
  11493.  
  11494.       2) Tell  RBBS-PC  to  open the  modem  at  2400  baud by  setting  CONFIG
  11495.          parameter 208 to 2400 baud.
  11496.  
  11497.       3) Use CONFIG parameter 225 to change the  modem reset command from "ATZ"
  11498.          to "AAATZ".
  11499.  
  11500.     This string  of A's resets the  modem to the  terminal baud rate so  it can
  11501.     respond to the other commands.  If you  want to experiment, watch the modem
  11502.     respond to you  when you change baud rates in  your favorite communications
  11503.     program.   This modem  function is  referred to  as "autobaud".   You  will
  11504.     probably not  see the first  "A" echo  and sometimes not  the second.   You
  11505.     should  always see the  third "A".   Others have advised  that their modems
  11506.     would "autobaud" from 300 to 9600 baud.  Mine would not.
  11507.  
  11508.       4) Use CONFIG parameter 225 to change the  modem answer string to include
  11509.          X2 instead of X1 (the CONFIG default).
  11510.  
  11511.     Stan Staten  has extensive  experience with RBBS-PC  and the  FASTCOMM 2496
  11512.     modems.  If you  have any questions regarding their use  with RBBS-PC, give
  11513.     Stan's RBBS-PC system a call at (301) 869-7650.
  11514.  
  11515.     The following is  STAN's SETFC.BAS program's  BASIC source code to  set the
  11516.     FASTCOMM  modem.   It can  be run  under the  BASIC interpreter  or  can be
  11517.     compiled  using QuickBASIC from  Microsoft.  SETFC.EXE  and SETFC2.EXE (for
  11518.     COM2:) can be downloaded from Stan's BBS.
  11519.  
  11520.     10   'title: 'SETFC.BAS, Copyright 1986 by H. Stanley Staten 
  11521.     20   'SysOp 3 WINKs BBS, 301-670-9621
  11522.     30   '
  11523.     40      DEFINT A-Z 
  11524.     50      CLEAR 
  11525.     60  ' 
  11526.     70  ' ********************************************************************
  11527.     80  ' * ROUTINE TO INITIALIZE THE FASTCOMM 2496 MODEM'S FIRMWARE         * 
  11528.     90  ' ******************************************************************** 
  11529.     100  '
  11530.     110  COM.PORT$ = "COM1"                 'Change to "COM2:" for COM2: use 
  11531.     120  PRINT "Setting FASTCOMM 2496 firmware for RBBS-PC on " + COM.PORT$ 
  11532.     130  ' 
  11533.  
  11534.     APPENDIX D -- Modems with RBBS-PC                                  Page D-3
  11535.  
  11536.     140  ' ********************************************************************
  11537.     150  ' *                                                                  *
  11538.     160  ' * INITIALIZE THE FASTCOMM 2496 VOLATILE MEMORY.  SET as follows    *
  11539.     170  ' *                                                                  *
  11540.     180  ' *         AT#F       = Set to factory defaults                     *
  11541.     190  ' *         AT#LCN     = Set carrier detect to normal                *
  11542.     200  ' *         AT#LDN     = Set DTR to normal                           *
  11543.  
  11544.     210  ' *         AT#LX2     = Set for XON/XOFF flow control               *
  11545.  
  11546.     220  ' *         ATS7=30    = Set wait for answer tone to 30 seconds      *
  11547.  
  11548.     230  ' *         ATM0       = Turn speaker off                            *
  11549.  
  11550.     240  ' *         ATV1       = Issue long form of results codes            *
  11551.  
  11552.     250  ' *         ATX2       = Full result messages                        *
  11553.  
  11554.     260  ' *         ATS57=1    = Hang up and reset automatically executed    *
  11555.  
  11556.     270  ' *         ATE0       = Do not echo modem commands back to the PC   *
  11557.  
  11558.     280  ' *         ATS10=10   = To cause to reset on loss of carrier faster *
  11559.  
  11560.     290  ' *         ATS58=3    = Force a 19200 Baud call to 9600 Baud locally*
  11561.     300  ' *         ATS22=46   = Suggested by the vendor                     *
  11562.     310  ' *         ATS0=0     = Don't answer until told to.                 *
  11563.     320  ' *         AT#W       = Write settings to non volatile memory       *
  11564.     330  ' *                                                                  *
  11565.     340  ' ********************************************************************
  11566.  
  11567.     350  ' 
  11568.     360  OPEN COM.PORT$ + ":2400,N,8,1,RS,CD,DS" AS #3  
  11569.     370  PRINT #3,"AAAAAAAT" 
  11570.     380  PRINT #3,"AT#F" 
  11571.     390  PRINT #3,"AT#LCN" 
  11572.     400  PRINT #3,"AT#LDN" 
  11573.     410  PRINT #3,"AT#LX2" 
  11574.     420  PRINT #3,"ATS7=30" 
  11575.     430  PRINT #3,"ATM0" 
  11576.     440  PRINT #3,"ATV1" 
  11577.     450  PRINT #3,"ATX2" 
  11578.     460  PRINT #3,"ATS57=1" 
  11579.     470  PRINT #3,"ATE0" 
  11580.     480  PRINT #3,"ATS10=10" 
  11581.     490  PRINT #3,"ATS58=3" 
  11582.     500  PRINT #3,"ATS22=46" 
  11583.     510  PRINT #3,"ATS0=0" 
  11584.     520  PRINT #3,"AT#W" 
  11585.     530  SYSTEM 
  11586.  
  11587.     Leading Edge Series L 2400B Modem
  11588.     ---------------------------------
  11589.     Gregg Snyder, SysOp of "The Elusive Diamond"  - DGS (Alpha) System, and Jim
  11590.     Thompson of "The Break" -DGS (Delta) System (Data: 703-680-9269)  are to be
  11591.     credited with documenting how to get the Leading Edge Series L  2400B modem
  11592.     to run  with RBBS-PC ("all modems  are Hayes-compatible, but  some are less
  11593.     Hayes-compatible than others").
  11594.  
  11595.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page D-4
  11596.  
  11597.     First,  you must set CONFIG  parameter 228 to open  the modem at 1200 baud.
  11598.     Next, go to CONFIG parameter 225 and set the modem commands as follows:
  11599.  
  11600.     1. Reset the modem                : ATB1H0L1M0C1
  11601.  
  11602.     2. Initialize the modem           : ATH0B1L1M0Q1E0S0=254
  11603.        Note: End item 2 with:
  11604.          S0=1Q0X1 if answer on 0 rings
  11605.          S0=254 if answer on >0 rings (no ring-back)
  11606.          S0=255 if answer on >0 rings (with ring-back)
  11607.  
  11608.     3. Count the number of rings      : ATS1?
  11609.  
  11610.     4. Answer the phone               : ATQ0X1V1A
  11611.  
  11612.     5. Take the phone off the hook    : ATH1L1M0
  11613.  
  11614.     6. Clear the modem's firmware     : AT&F
  11615.  
  11616.     7. Initialize modem's firmware    : AT&C1&D3B1E0V1M0S0=0&T5
  11617.        Note: End item 7 with:
  11618.          Q1 if item 2 ends with S0=255
  11619.  
  11620.     8. Write to modem's firmware      : &W
  11621.  
  11622.     These  settings have  been tested  for  more than  a year  by  Jim Thompson
  11623.     beginning with RBBS-PC 15.1C.
  11624.  
  11625.     MICROCOM AX\9624c
  11626.     -----------------
  11627.     First set the Microcom AX\9624c switch settings as follows:
  11628.  
  11629.          CONFIGURATION SWITCH SETTINGS FOR THE MICROCOM AX\9624c MODEM
  11630.          =============================================================
  11631.  
  11632.                      1   2   3   4   5   6   7   8   9   10
  11633.                      --------------------------------------
  11634.     Front Switch -   U   D   D   D   D   U   U   D   U   U
  11635.  
  11636.     Rear Switch  -   U   U   D   U   D   D   D   D   -   -
  11637.  
  11638.     Change CONFIG  parameter 228  to open  the modem  initially for  9600 baud.
  11639.     Then go  to  CONFIG parameter  225 and  change some  of  the default  Hayes
  11640.     commands.
  11641.  
  11642.     Within  parameter  225,  you  will  want  to  change  the  second  command,
  11643.     "Initialize the modem."   If you want RBBS-PC to answer on  one ring set it
  11644.     to:
  11645.  
  11646.                  ATM0Q1S2=255S10=45E0S0=254&D2
  11647.  
  11648.     To answer on zero rings, set it to:
  11649.  
  11650.                  ATM0Q1S2=255S10=15E0S0=0Q0X1&D3
  11651.  
  11652.     Please note  that these  change the  default Hayes  commands supplied  with
  11653.     RBBS-PC  for S10.  Also note that  an &D command was added  to the end.  If
  11654.     you are  set up  to answer  on ring  zero and  your  modem sometimes  stops
  11655.  
  11656.     APPENDIX D -- Modems with RBBS-PC                                  Page D-5
  11657.  
  11658.     answering for  no reason that you can isolate,  alter the S10 value to "45"
  11659.     and &D2.  You may also  want to activate CONFIG parameter 236 to  "wake up"
  11660.     the modem.
  11661.  
  11662.     These configurations  will allow  RBBS-PC to  establish a  MNP reliable  or
  11663.     non-reliable connection  from 300  to 9600  BAUD using  the AX\9624c's  MNP
  11664.     class 6 Universal Link Negotiation capability.
  11665.  
  11666.     Prometheus 2400G
  11667.     ----------------
  11668.     Underneath the 2400G  is a bank of  10 switches that set  certain operating
  11669.     characteristics of the ProModem 2400G.  Only 3 (1,2 & 10) of these switches
  11670.     are currently implemented.   The others are reserved  for future expansion.
  11671.     All three of these  switches must be in  the off position for the  2400G to
  11672.     function properly with RBBS-PC.
  11673.  
  11674.     USRobotics Courier and HST
  11675.     --------------------------
  11676.     Both the  US Robotics  COURIER 2400 and  COURIER HST modem  switch settings
  11677.     should be as follows:
  11678.      1 2 3 4 5 6 7 8 9 10   gang switch
  11679.      U U U D D U U D D D      UUU      (Where U = Up = Off and  D = Down = On)
  11680.  
  11681.     The Courier  2400 is  a high  quality, trouble  free modem  that is  highly
  11682.     recommended and which works well with all the RBBS-PC defaults.
  11683.  
  11684.     The USR COURIER HST modem switch setting should be as follows:
  11685.      1 2 3 4 5 6 7 8 9 10   gang switch
  11686.      U U U D D U U D D U      UUU      (Where U = Up = Off and  D = Down = On)
  11687.  
  11688.     RBBS-PC supports both modes of the USR HST Modems.  In CONFIG,  specify the
  11689.     number of seconds between modem commands to be 1.
  11690.  
  11691.     MODE 1:
  11692.     -------
  11693.     In  the first mode of operation, CONFIG parameter  228 should be set to the
  11694.     highest speed you intend to support.  When the HST modem detects a carrier,
  11695.     it sends (at the baud rate set in parameter 228) an ASCII string to RBBS-PC
  11696.     which contains the new BAUD rate.  The modem will  change it's baud rate to
  11697.     match that of the caller's and RBBS-PC will correctly adjust to the modem's
  11698.     new baud rate.  The following CONFIG parameters should be set:
  11699.  
  11700.     Parameter 222 -- set to 3 to allow the modem enough time to initialize
  11701.     Parameter 223 -- set to 2
  11702.     Parameter 227 -- set to NO
  11703.     Parameter 228 -- set to 9600
  11704.     Parameter 237 -- set to NO
  11705.     Parameter 244 -- set to YES
  11706.     Parameter 245 -- set to NO
  11707.  
  11708.     You should also reply "NO" to parameter 225, CONFIG will show you a menu of
  11709.     8 different modem  commands.  The ONLY command that needs  to be changed is
  11710.     number 7, "Initialize the modem firmware".  It should be:
  11711.  
  11712.               AT&A1&B0&H1&I0&M4&N0&R2&S1&Y3
  11713.  
  11714.     The meaning of this HST-specific initialization string is as follows:
  11715.     &A1 = Display/ARQ result codes
  11716.  
  11717.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page D-6
  11718.  
  11719.     &B0 = DTE/DCE rate follows connection rate
  11720.     &H1 = Hardware (Clear To Send, Pin 5) flow control
  11721.     &I0 = Flow control disabled
  11722.     &M4 = Normal if ARQ connection cannot be made
  11723.     &N0 = Negotiate highest possible link rate with remote modem
  11724.     &R2 = Received data output to terminal on Request to Send high (Pin 4)
  11725.           NOTE:  If your HST 9600 modem responds 961 or greater to the ATI 
  11726.                  command, substitute &R1 for &R2.
  11727.     &S1 = Modem controls Data Set Ready
  11728.     &Y3 = Nondestructive, unexpedited break signal
  11729.  
  11730.     The highest effective data transmission rate in this mode is 9600 baud.
  11731.  
  11732.     MODE 2:
  11733.     -------
  11734.     In this  second  mode the  USR  Modem  supports the  MNP  data  compression
  11735.     technique  which effectively  transmits data  over  the phone  at rates  in
  11736.     excess of 17K baud.  Setting up your HST to  support both the standard 300,
  11737.     1200, 2400, and the  higher 9600 and 17K  baud rates requires that the  HST
  11738.     modem  speed  be  "fixed" at  19.2K  baud.   The  PC  running  RBBS-PC will
  11739.     communicate  with the HST modem  attached to it at a  fixed rate of 19.2KB.
  11740.     The actual  data  link speed  will default  to the  highest  rate that  the
  11741.     caller's modem will support. 
  11742.  
  11743.     Parameter 222 -- set to 3 to allow the modem enough time to initialize
  11744.     Parameter 223 -- set to 2
  11745.     Parameter 227 -- set to NO
  11746.     Parameter 228 -- set to 19200
  11747.     Parameter 237 -- set to YES
  11748.     Parameter 244 -- set to YES
  11749.     Parameter 245 -- set to NO
  11750.  
  11751.     You should also reply "NO" to parameter 225, CONFIG will show you a menu of
  11752.     8 different modem commands.   The ONLY command that needs to  be changed is
  11753.     number 7, "Initialize the modem firmware".  It should be:
  11754.  
  11755.               AT&A1&B1&H1&I0&M4&N0&R2&S1&Y3
  11756.  
  11757.     The meaning of this HST-specific initialization string is as follows:
  11758.     &A1 = Display/ARQ result codes
  11759.     &B1 = DTE/DCE rate is fixed at allowable rate
  11760.     &H1 = Hardware (Clear To Send, Pin 5) flow control
  11761.     &I0 = Flow control disabled
  11762.     &M4 = Normal if ARQ connection cannot be made
  11763.     &N0 = Negotiate highest possible link rate with remote modem
  11764.     &R2 = Received data output to terminal on Request to Send high (Pin 4)
  11765.           NOTE:  If your HST 9600 modem responds 961 or greater to the ATI 
  11766.                  command, substitute &R1 for &R2.
  11767.     &S1 = Modem controls Data Set Ready
  11768.     &Y3 = Nondestructive, unexpedited break signal
  11769.  
  11770.     This will enable the  COURIER HST to use the  built-in MNP protocol at  the
  11771.     highest possible baud rate that can be negotiated with the calling modem --
  11772.     providing the  calling modem  is also  a COURIER  HST modem.   The  highest
  11773.     effective data transmission rate in this mode is 17200 baud.
  11774.  
  11775.     After replying NO  to CONFIG parameter 225 and  changing the initialization
  11776.     modem command  as described  above for  either MODE  1 or  MODE  2 for  the
  11777.  
  11778.     APPENDIX D -- Modems with RBBS-PC                                  Page D-7
  11779.  
  11780.     COURIER HST, CONFIG parameter 231 should be selected in order to initialize
  11781.     the COURIER HST.  This places the setting in the HST's  non-volatile random
  11782.     access memory (NVRAM)  and need only  be repeated if  the NVRAM is  changed
  11783.     (i.e. you  use the modem with  applications other than RBBS-PC  that change
  11784.     the NVRAM).
  11785.  
  11786.     For the COURIER 2400, set  CONFIG parameter 228 to  2400.  For the  COURIER
  11787.     HST, set parameter 228 as specified above for either MODE 1 or MODE 2.
  11788.  
  11789.     USRobotics HST Dual Standard
  11790.     ----------------------------
  11791.     The USRobotics Dual  Standard is an  excellent choice for  BBS SysOps.   It
  11792.     combines reliability, performance and compatibility.  The biggest hurdle is
  11793.     the price!  However,  SysOps can contact USRobotics  at (800) DIAL-USR  for
  11794.     information about SysOp special prices.
  11795.  
  11796.     The Dual Standard can support low-speed connections, as well as V.32, V.42,
  11797.     V.42bis  and HST-mode connections.  A proper configuration of the BBS modem
  11798.     will allow a caller with nearly ANY modem to connect with your BBS.
  11799.  
  11800.     The  file  MODEMS.SET   contains  proper  switch  settings,   firmware  and
  11801.     initialization  settings,  and  CONFIG  parameter  settings  for  the  dual
  11802.     standard.  However, you should consider the following:
  11803.  
  11804.       1) The dual standard  is flexible.  The  configuration suggested for
  11805.          RBBS-PC will allow nearly all modems  to connect to your BBS, but
  11806.          perhaps not  at the  optimum speed.   The main  consideration for
  11807.          performance is the use of data compression.  RBBS-PC will  ENABLE
  11808.          data compression  on your  modem.   If your  callers also  enable
  11809.          compression, V.32 throughput  when transferring COMPRESSED  files
  11810.          will suffer.  However, throughput when capturing large text files
  11811.          (such  as reading  messages non-stop)  will  be much  higher than
  11812.          normal.  You may want  to post a bulletin  to your users that  if
  11813.          they want  FAST FILE  TRANSFER, they  should DISABLE  compression
  11814.          (&K0 is the modem command for the dual standard).  If they do so,
  11815.          your modem will also  disable compression for  their call.   This
  11816.          will allow each caller to decide if they want maximum  throughput
  11817.          for compressed files, or for text files.
  11818.  
  11819.       2) For  best results,  the baud  rate is locked  between RBBS-PC  and the
  11820.          modem.  This allows the modem to negotiate speed with the  caller, but
  11821.          RBBS-PC can transfer data as fast as possible.  This should work under
  11822.          all instances, but  if you have trouble configuring  doors or external
  11823.          protocols, you may wish to turn off this feature.  To do  this, change
  11824.          the  baud  lock command  in  the FIRMWARE  initialize  command (CONFIG
  11825.          parameter 225) to ???, and tell  RBBS-PC to NOT remain at the  initial
  11826.          baud rate (CONFIG parameter ???). 
  11827.  
  11828.     ZOOM Modem HC2400
  11829.     -----------------
  11830.     In order to use  the "ZOOM HC2400" modem with RBBS-PC  parameter 225 should
  11831.     be changed as shown below.  Only #2 and #5 need to be changed.
  11832.  
  11833.     Changes in #2.  Add '&D2' just after  'AT'.  Change 'S2=255' to 'S2=43'.
  11834.  
  11835.     Change  in #5.  Add "&D2' just after  'AT'.
  11836.  
  11837.     1. Reset the modem                : ATZ
  11838.  
  11839.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page D-8
  11840.  
  11841.     2. Initialize the modem           : AT&D2M0Q1S2=43S10=30E0Q0X1S0=0
  11842.        Note: End item 2 with:
  11843.          S0=1Q0X1 if answer on 0 rings
  11844.          S0=254 if answer on >0 rings (no ring-back)
  11845.          S0=255 if answer on >0 rings (with ring-back)
  11846.     3. Count the number of rings      : ATS1?
  11847.     4. Answer the phone               : ATQ0X1V1A
  11848.     5. Take the phone off the hook    : AT&D2Q1E1H1M0
  11849.     6. Clear the modem's firmware     : AT&F
  11850.     7. Initialize modem's firmware    : AT&C1&D3B1E0V1M0S0=0&T5
  11851.        Note: End item 7 with:                                                  
  11852.        
  11853.          Q1 if item 2 ends with S0=255                                         
  11854.        
  11855.     8. Write to modem's firmware      : &W
  11856.  
  11857.     For further information contact:
  11858.     Jeff L. Watts
  11859.     STATESVILLERBBS-PC  Data # (704) 873-8482
  11860.  
  11861.     APPENDIX E -- RBBS-PC and the Hearing-Impaired                     Page E-1
  11862.  
  11863.     APPENDIX E -- RBBS-PC and the Hearing-Impaired
  11864.     ----------------------------------------------
  11865.     Telecommunications Devices for the Deaf (TDDs) use the Baudot character set
  11866.     (i.e.  5-bit) and  utilize  modems that  transmit  at 45  baud  and do  not
  11867.     generate  a carrier signal.   This is  because such  devices were initially
  11868.     adaptations  of   surplus  Western   Union  TTY   machines  for   telephone
  11869.     communications.   The  widespread use  of  Baudot devices  by the  hearing-
  11870.     impaired, the  previous high cost of computers and  modems, and the lack of
  11871.     software designed for electronic communications,  has impeded the change to
  11872.     ASCII communications by the hearing-impaired community.
  11873.  
  11874.     Equipment manufacturers have also made it difficult for the deaf to change.
  11875.     When TDD's with ASCII code transmission capability began to be offered, the
  11876.     majority of manufacturers limited them to only 110 baud and put disclaimers
  11877.     in their manuals that  said ASCII was available for use  but that "computer
  11878.     language" was "less reliable" and hard to use.  Their limiting of the TDD's
  11879.     output screen to 12 to 20 characters further compounded the problem because
  11880.     the screen would overwrite several times to display one line of text from a
  11881.     host system.    The  manufacturers'  "solution"  to  this  problem  was  to
  11882.     recommend printers for  communication with such "host"  systems as RBBS-PC.
  11883.     Some units now offer  both 110 and 300 baud ASCII  transmission in addition
  11884.     to  the 45  baud  Baudot.   Unfortunately,  these  typically have  only  20
  11885.     character screens.
  11886.  
  11887.     In December of 1984, Ted Janossy of Rochester, Minnesota, sent a three-page
  11888.     letter to Tom Mack describing the  above situation.  Ted's letter motivated
  11889.     Tom to test and  verify the "ring-back" feature of  RBBS-PC in 12.4A.    It
  11890.     had not been tested in earlier versions because Tom assumed (presumptuously
  11891.     and insensitively) that "real SysOps don't use ring-back RBBS-PC's."  Ted's
  11892.     letter   awakened   Tom  to   the  potential   of  RBBS-PC   to  facilitate
  11893.     communications among the hearing-impaired.  In the awakening, Tom also  had
  11894.     a chance to look down at his own feet of clay.
  11895.  
  11896.     RBBS-PC can be  configured to answer calls only after a specified number of
  11897.     rings  (i.e.   15).    The  telephone  companies  wire  the  homes  of  the
  11898.     hearing-impaired such  that when  the phone  rings, the  lights within  the
  11899.     house flash on and off. 
  11900.  
  11901.     With RBBS-PC  a SysOp can  specify the number  of rings RBBS-PC  is to wait
  11902.     before answering the phone automatically.  Setting this number high  enough
  11903.     allows someone  with a  hearing impairment  time enough  to get  to the  PC
  11904.     running RBBS-PC.  Pressing  the PC's function key 5 (F5)  causes RBBS-PC to
  11905.     answer the phone  immediately.  The caller  would know that someone  was at
  11906.     the keyboard  because RBBS-PC answered  the phone in less  than the agreed-
  11907.     upon  number of rings.  The caller  would log onto RBBS-PC normally and the
  11908.     person at the PC keyboard  would be able to see who it was.   If the person
  11909.     who was called wanted to "chat" with the caller, all they would have to  do
  11910.     would be to press function key 10 (F10). 
  11911.  
  11912.     If RBBS-PC  didn't answer  the telephone within  the agreed-upon  number of
  11913.     rings, the caller would  know that whomever was being  called couldn't come
  11914.     to the keyboard.  The caller would then log on and leave a message.
  11915.  
  11916.     APPENDIX F -- RBBS-PC And The AT's RS-232 Cable                    Page F-1
  11917.  
  11918.     APPENDIX F -- RBBS-PC And The AT's RS-232 Cable
  11919.     -----------------------------------------------
  11920.     The RS-232 serial connector is different for the AT than the PC or XT.  The
  11921.     AT  uses a  connector  called a  DB-9,  which is  a  9 pin  connector.   An
  11922.     alternative to  buying the AT serial cable from  IBM, ($65-$80), is to make
  11923.     your own.  A ten-wire cable  can be purchased from any local computer store
  11924.     for about $.80 per foot, and the DB-9 and  RS-232 connectors with hoods can
  11925.     be purchased  from Radio Shack.  The total cost  should be about $12.00.  A
  11926.     modem hooked up to the AT will  work fine with the 9 pins connected  in all
  11927.     terminal functions, except for auto-answer applications such as RBBS-PC.
  11928.  
  11929.     RBBS-PC requires pin 1 from the modem to be hooked up to the chassis ground
  11930.     on the AT or it can't answer the phone.   There are two ways to hook up the
  11931.     ground wire on the computer  end.  The first way is to use  a metal hood to
  11932.     cover the DB-9  connector.  Wrap a bare  wire that is attached to  pin 1 of
  11933.     the RS-232 connector around the cable on the DB-9 end.  When the metal hood
  11934.     is screwed  down over the cable  a connection will  be made.  When  using a
  11935.     plastic DB-9 hood  simply solder a wire from pin 1 on the RS-232 end to the
  11936.     metal body of  the DB-9 connector.   Since documentation is scarce  for the
  11937.     AT, following figure lists the necessary pin connections for those  wanting
  11938.     to make their own AT RS-232 cable.
  11939.  
  11940.        DB-9       RS-230
  11941.     (Computer     (Modem           Description
  11942.        End)        End)
  11943.     =========    =======        ==================
  11944.  
  11945.      GROUND -------- 1 -------- Protective Ground
  11946.        1    -------- 8 -------- Data Carrier Detect
  11947.        2    -------- 3 -------- Receive Data
  11948.        3    -------- 2 -------- Transmit Data
  11949.        4    ------- 20 -------- Data Terminal Ready
  11950.        5    -------- 7 -------- Signal Ground
  11951.        6    -------- 6 -------- Data Set Ready
  11952.        7    -------- 4 -------- Request to Send
  11953.        8    -------- 5 -------- Clear to Send
  11954.        9    ------- 22 -------- Ring Indicator
  11955.  
  11956.     APPENDIX G -- RBBS-PC And BASIC Compiler Patches for "Doors"       Page G-1
  11957.  
  11958.     APPENDIX G -- RBBS-PC And BASIC Compiler Patches for "Doors"
  11959.     ------------------------------------------------------------
  11960.     A bug  in Microsoft's  BASIC and QuickBASIC  compilers requires  SysOps who
  11961.     wish to recompile  RBBS-PC to apply the following patches.  The problem has
  11962.     to  do with BASIC's  treatment of the  communications port when  you exit a
  11963.     BASIC  program.  The Data Terminal Ready (DTR)  line MUST be kept on at all
  11964.     times, or the modem will hang up on your caller.
  11965.  
  11966.     If you  are recompiling  RBBS-PC, and  you plan  to use  Doors or  external
  11967.     protocols,  you must  make the following  patches.   Any hex editor  can be
  11968.     used:  DEBUG, which comes  with DOS, or  the Norton Utilities  are just two
  11969.     examples.   A tutorial  on how  to use DEBUG  is beyond  the scope  of this
  11970.     document.
  11971.  
  11972.     There are  actually two patches, depending  on the version of  the compiler
  11973.     you have.  The first patch is for QuickBASIC 2, 3 & 4 or BASCOM 6.0.
  11974.  
  11975.     The file  you will patch is BCOMx0.LIB (where X  is the QB version number).
  11976.     Of course, you will  save your original file before applying the patch.  To
  11977.     make the fix, you will search for the following string of HEX digits: 83 C2
  11978.     04 32 C0 EE.  The assembly code for this string is:
  11979.  
  11980.     83 C2 04  ADD DX,4
  11981.     32 C0     XOR AL,AL
  11982.     EE        OUT DX,AL
  11983.  
  11984.     We need to  change the XOR AL,AL  to MOV AL,1.   Change the "32 C0"  to "B0
  11985.     01".  Make this change in both places where the string occurs.
  11986.  
  11987.     If  you use QB 4.5,  or BASCOM 7.0, the  patch is different.   Look for the
  11988.     string: B0 00 E3 01 40 83 C2 04 EE.  In assembly code, it is:
  11989.  
  11990.     B0 00    MOV  AL,00
  11991.     E3 01    JCXZ nnnn
  11992.     40       INC  AX
  11993.     83 C2 04 ADD  DX,4
  11994.     EE       OUT  DX,AL
  11995.  
  11996.     Again, we want  to put a 1 in AL, so  we change the "B0 00" to  B0 01".  We
  11997.     also need to remove the INC AX, so change the "40" to "90".
  11998.  
  11999.     You may also want  to make an  additional patch.   This patch will  prevent
  12000.     QuickBASIC from pausing  on a fatal error.   Normally, BASIC says  "press a
  12001.     key to  continue".   If RBBS-PC were  allowed to  recycle, it  would do  so
  12002.     without  trouble, but BASIC will hold up  your board until you press a key.
  12003.     If you have QuickBASIC 2.01 or 3.0, search the BCOMx0.LIB for the following
  12004.     string of  HEX digits: E2 F8  E8 00 00  E8 00 00 E8  00 00 C3.   Change the
  12005.     MIDDLE "E8 00  00" to "C3 90 90".   If you have QuickBASIC  4.5, search for
  12006.     the  string "B8 07  0C CD  21" and  change the "CD  21" to  "90 90".   Now,
  12007.     whenever  BASIC can't  handle an error,  it will  allow RBBS-PC  to recycle
  12008.     quickly.
  12009.  
  12010.     If  you have BASCOM 7.0, you  can apply the patch  for QB 4.5, although you
  12011.     will have to patch whichever BC70xxxx.LIB file you use to link.
  12012.  
  12013.     Thanks  to Doug Azzarito,  Jeff Porter, Rod  Bowman, Kenny Gardner  and Bob
  12014.     Eyer for information on these patches.
  12015.  
  12016.     APPENDIX H -- Running in DESQview                                  Page H-1
  12017.  
  12018.     APPENDIX H -- RBBS-PC in a DESQview Environment
  12019.     -----------------------------------------------
  12020.     DESQview, from Quarterdeck Office Systems, provides an excellent, low-cost,
  12021.     software platform for RBBS-PC SysOps wanting multiple nodes on a single PC.
  12022.     This appendix has been provided to help both the novice SysOp and  the more
  12023.     experienced SysOp with the implementation of multiple nodes under DESQview.
  12024.  
  12025.     1. Basic Hardware Considerations
  12026.     --------------------------------
  12027.     If your computer has  only 640k, you will be limited to  a single node when
  12028.     using DESQview.  If, however, your computer has 1-Megabyte or more  of EEMS
  12029.     memory,  DESQview  is  capable of  supporting  up to  8-nodes  on  a single
  12030.     computer.   Providing  two nodes is  simple.   Going beyond two  nodes will
  12031.     require  special  software and  hardware.    This  appendix describes  both
  12032.     approaches.
  12033.  
  12034.     Multiple-node operation  will require  an EEMS-compatible  memory expansion
  12035.     card for your computer.  Make certain your memory card is EEMS  (not merely
  12036.     EMS,  but EEMS)  compatible!   If  you  are not  using  an 80386  computer,
  12037.     DESQview  can ONLY swap  EEMS memory, so  you will want to  replace as much
  12038.     motherboard memory as possible with EEMS RAM.  This limitation is described
  12039.     in the DESQview documentation.  These  limitations do not apply if you  use
  12040.     an 80386/SX or 80386  based computer. Therefore,  we recommend an 80386  as
  12041.     the best  choice for a  multi-node host  computer.  If  you plan to  use an
  12042.     80386 or  80386/SX computer,  we suggest  you purchase  DESQview/386, which
  12043.     includes the QEMM  memory manager.  This memory manager  allows DESQview to
  12044.     use regular  80386 Extended memory in the same  manner as EEMS memory.  The
  12045.     QEMM  memory  manager may  be  purchased  separately  if you  already  have
  12046.     DESQview.
  12047.  
  12048.     Before you continue,  make certain you have read  and thoroughly understand
  12049.     the instruction manual provided with your copy of DESQview.
  12050.  
  12051.     2. Modifications to DOS CONFIG.SYS and RBBS-PC batch files
  12052.     -----------------------------------------------------------
  12053.     The first step in using DESQview with RBBS-PC is setting up your CONFIG.SYS
  12054.     file.   The FILES statement  is critical.   Allocate at least  16 files for
  12055.     each copy of  RBBS-PC.  QEMM/386 will  allow you to allocate  files without
  12056.     using base RAM (see  the QEMM manual for details).   Increasing DOS BUFFERS
  12057.     will also help, but options such as a disk CACHE will determine the optimum
  12058.     setting.
  12059.  
  12060.     A 2-node CONFIG.SYS file should include the following:
  12061.  
  12062.          FILES=32
  12063.          BUFFERS=25
  12064.  
  12065.     You should start  RBBS-PC from a two-level  batch file.  A  "startup" batch
  12066.     file will  perform  functions required  only  once, when  you open  the  DV
  12067.     window.  The  second file, RBBS.BAT,  will start RBBS-PC,  and process  the
  12068.     recycling, doors and daily maintenance.
  12069.  
  12070.     In our  example, the  "startup" batch file  is named  START.BAT.   The node
  12071.     number for  each RBBS-PC node  is passed to  START.BAT by DESQview.   In so
  12072.     doing, you only need  to provide a .DVP file for each node.   All the batch
  12073.     files are the same, which reduces confusion and maintenance.
  12074.  
  12075.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page H-2
  12076.  
  12077.      in C:\RBBS\START.BAT         Description of each line's function:
  12078.     --------------------------    --------------------------------------
  12079.     DVANSI                        loads DESQview ANSI.SYS driver
  12080.     SET NODE=%1                   Sets the node  number for this RBBS-PC  node 
  12081.     SET DSZLOG=XFER-%node%.DEF    set DOS environment variable for DSZ
  12082.     RBBS                          call RBBS.BAT
  12083.  
  12084.     The standard RBBS.BAT  (explained in section 13)  will be adequate  for use
  12085.     with each node of RBBS-PC under DESQview.
  12086.  
  12087.     3. What to Tell RBBS-PC's "CONFIG" Utility
  12088.     ------------------------------------------
  12089.     When  using DESQview,  you will  need to  change  some parameters  with the
  12090.     CONFIG program (supplied with RBBS-PC).  If you are running only  one node,
  12091.     the only required change is parameter  162 (network environment).  Set this
  12092.     to DESQview.  If you are running multiple nodes, consult appendix G for the
  12093.     parameters that should be set to properly configure multiple nodes.
  12094.  
  12095.     4. DESQview Setup Default Settings
  12096.     -----------------------------------
  12097.     The next step  in configuring DESQview for  use with RBBS-PC is  specifying
  12098.     the default settings for DESQview.   DESQview has a setup program that  may
  12099.     be  invoked at  the DOS prompt.   Enter  SETUP to  run this  DESQview setup
  12100.     routine. After the SETUP program loads, press RETURN for the Advanced Setup
  12101.     Procedure followed by a "P" for  Performance defaults.  Here is an  example
  12102.     of the recommended settings:
  12103.  
  12104.     ------------------------------------------
  12105.     I  Task Processing Time (in Clock Ticks) I  Optimum Fore/Backgrnd can vary
  12106.     I            Foreground:    9            I  between 15/14 and 4/3.  These
  12107.     I            Background:    8            I  settings will vary depending on
  12108.     I                                        I  CPU speed and number of nodes
  12109.     I  Memory Usage (in K)                   I  in operation.  Experiment with
  12110.     I      Common Memory:      24            I  different settings to find the
  12111.     I      DOS Buffer for EMS:  2            I  best for your system.
  12112.     I                                        I
  12113.     I  Optimize communications?    (Y/N): N  I  Select [Y] if you're operating
  12114.     I  Allow swapping of programs? (Y/N): Y  I  only 1-node under DESQview!
  12115.     I  Manage printer contention?  (Y/N): N  I
  12116.     I                                        I
  12117.     I           Next field     Tab           I
  12118.     I           Backup menu    Esc           I
  12119.     I           DONE           <             I
  12120.     I                                        I
  12121.     ------------------------------------------
  12122.  
  12123.     NEVER indicate  more clock  ticks for  Background processing  than you  are
  12124.     using for the Foreground processing.   DESQview will automatically increase
  12125.     the  amount of Background  clock ticks whenever there  is little demand for
  12126.     Foreground processing.   This will be the case  when running RBBS-PC in the
  12127.     background and doing word  processing or a similar task  in the foreground.
  12128.     This feature cannot function properly if the Background clock ticks are set
  12129.     higher  than the  Foreground  clock ticks.   Setting  the  High Speed  Comm
  12130.     default to YES  will make communications  interrupts the highest  priority.
  12131.     While this is suggested if you operate a single node, you should specify NO
  12132.     for optimum performance when operating multiple nodes.
  12133.  
  12134.     APPENDIX H -- Running in DESQview                                  Page H-3
  12135.  
  12136.     5. Adding RBBS-PC to DESQview's  "Open Window" Menu
  12137.     ---------------------------------------------------
  12138.     Refer to the section "Adding Your Own Program" in the DESQview manual.  You
  12139.     will need to "Add a Program" for each node of RBBS-PC you intend to operate
  12140.     on your system.  You  may name the programs N1, N2, etc.   N1 will load the
  12141.     batch file START.BAT with  the Parameter "1".  N2 will  load START.BAT with
  12142.     the Parameter "2" and so on.  Use  the following settings for each node (or
  12143.     copy) of RBBS-PC you install.
  12144.  
  12145.                                    Add a Program
  12146.     --------------------------------------------------------------------------
  12147.      Program Name............: [NODE-1]
  12148.  
  12149.      Keys to Use on Open Menu: N1                   Memory Size (in K): 380
  12150.  
  12151.      Program...: START                  Please note that Memory Size above may
  12152.                                         need to be increased if you intend to
  12153.      Parameters: 1  (node number)       SHELL (rather than DOOR) to External
  12154.                                         file transfer protocols.
  12155.      Directory.: C:\RBBS
  12156.  
  12157.      Options:
  12158.                     Writes text directly to screen.......: [N]
  12159.                     Displays graphics information........: [N]
  12160.                     Virtualize text/graphics (Y,N,T).....: [N]
  12161.                     Uses serial ports (Y,N,1,2)..........: [Y] <-N if Using a
  12162.                     Requires floppy diskette.............: [N]   FOSSIL driver
  12163.     --------------------------------------------------------------------------
  12164.  
  12165.     Next, press F1 for the Advanced Options menu.
  12166.  
  12167.                           Change a Program Advanced Options
  12168.     --------------------------------------------------------------------------
  12169.     System Memory (in K).......:   0   Maximum Program Memory Size (in K)..:
  12170.  
  12171.     Script Buffer Size.......:     1   Maximum Expanded Memory Size (in K):
  12172.  
  12173.     Text Pages: 1  Graphics Pages: 0   Initial Mode:      Interrupts: 00 to FF
  12174.  
  12175.     Window Position:
  12176.        Maximum Height:  25       Starting Height:           Starting Row...:
  12177.        Maximum Width.:  80       Starting Width.:           Starting Column:
  12178.  
  12179.                                    Shared Program
  12180.     Pathname..:
  12181.     Data......:
  12182.  
  12183.     Close on exit (Y,N,blank)......: [N]  Uses its own colors............: [Y]
  12184.     Allow Close Window command.....: [Y]  Runs in background (Y,N,blank).: [Y]
  12185.     Uses math coprocessor..........: [N]  Keyboard conflict (0-4)........: [0]
  12186.     Share CPU when foreground......: [Y]  Share EGA when foregrnd/zoomed.: [Y]
  12187.     Can be swapped out (Y,N,blank).: [N]  Protection level (0-3).........: [0]
  12188.     --------------------------------------------------------------------------
  12189.  
  12190.     6. Memory Considerations
  12191.     ------------------------
  12192.     Please refer to your  DESQview documentation for information  regarding the
  12193.     use of XDV.COM and optimizing the  size for each DESQview window.   Current
  12194.  
  12195.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page H-4
  12196.  
  12197.     versions of DESQview  require a little under 180k  of your system's memory,
  12198.     leaving only  430k to operate  RBBS-PC on  a system with  640k.  Specify  a
  12199.     minimum window  size of 380k for  RBBS-PC.  If you choose  to SHELL (rather
  12200.     than DOOR) to  external protocol drivers for file transfers,  you will have
  12201.     to increase this window size, probably to 500k.
  12202.  
  12203.     It is necessary to use EEMS memory to  run two or more concurrent copies of
  12204.     RBBS-PC under  DESQview.  If available EEMS memory  allows, you may wish to
  12205.     add an additional  "LOCAL" node for  SysOp use.   When using an  additional
  12206.     node for SysOp  duties, an additional  modem and  RS-232 interface are  not
  12207.     required.   Simply use CONFIG to set up the  .DEF file for the node you are
  12208.     planning to use for SysOp duties.  You must specify the communications port
  12209.     as COM0.  Failure  to do so will prevent your local SysOp node from loading
  12210.     properly. 
  12211.  
  12212.     7. Expanded Memory
  12213.     ------------------
  12214.     If you  are using an "Expanded Memory" board that  allows more than 640k to
  12215.     be used for programs, the constraints discussed in the previous section may
  12216.     not apply.    Specify a window size of  460K for  each node of  RBBS-PC and
  12217.     invoke  the external  protocol drivers  by  SHELLing.   For information  on
  12218.     running programs in expanded memory, refer to the manuals  for DESQview and
  12219.     your particular memory board.
  12220.  
  12221.     8. How to AUTOEXEC RBBS-PC From DESQview
  12222.     ----------------------------------------
  12223.     Refer to  the section  "LEARN: DESQview's Keystroke  Macro Feature"  in the
  12224.     DESQview manual.  A script assigned to the ! key (on the DESQview menu) has
  12225.     a special  meaning.  It  is performed  at the time  you start  up DESQview,
  12226.     immediately  after the  DESQview menu  appears.   This is called  a STARTUP
  12227.     SCRIPT.   You should "Learn"  the Startup Script  with no windows  open and
  12228.     with  the DESQview menu  displayed to be  sure it will  play back properly.
  12229.     Use this particular script to  load N1, N2, etc. of  RBBS-PC.  If you  load
  12230.     DESQview  from your  AUTOEXEC.BAT  file, RBBS-PC  will  load from  DESQview
  12231.     automatically. This can be  handy if there is a power  outage while you are
  12232.     away and no one is around to  re-load RBBS-PC when the electricity returns.
  12233.     You should open  the window(s) for RBBS-PC prior to opening windows for any
  12234.     other application software.
  12235.  
  12236.     9. Quarterdeck Utilities
  12237.     ------------------------
  12238.     Two Quarterdeck utilities, STDERR.COM and LDFILTER.COM are distributed with
  12239.     RBBS-PC.    LDFILTER.COM should  be  executed  when you  open  a  window in
  12240.     DESQview.  If you use the  Small & Fast version of RBBS-PC, or  you compile
  12241.     RBBS-PC  with  QuickBASIC  v2.01,  you  should  use  LDFILTER.COM,  but not
  12242.     otherwise.   In the  above  examples, LDFILTER  would  be placed  into  the
  12243.     START.BAT batch file.   LDFILTER was written by  Quarterdeck Office Systems
  12244.     to compensate for the memory mismanagement of  the BASIC compilers.  If you
  12245.     try to  "SHELL" to  an external  routine the  error "not  enough memory  to
  12246.     SHELL" is issued.  LDFILTER.COM prevents this error condition by preventing
  12247.     the code generated by the BASIC compilers from mis-managing memory.
  12248.  
  12249.     STDERR.COM should be executed from your autoexec.bat file, prior to loading
  12250.     DESQview.  STDERR  was written by Quarterdeck Office  Systems to compensate
  12251.     DOS' inability  to redirect the  standard error output  to the  same device
  12252.     that the standard output device had been redirected to.  If you are running
  12253.     something remotely and an error  occurs, STDERR.COM allows the error  to be
  12254.  
  12255.     APPENDIX H -- Running in DESQview                                  Page H-5
  12256.  
  12257.     displayed at the remote user's end and not simply on the PC that is running
  12258.     RBBS-PC under DESQview.
  12259.  
  12260.     10. Redirecting I/O Considerations (DOS CTTY Command)
  12261.     -----------------------------------------------------
  12262.     The DOS CTTY command  is NOT supported under DESQview.   The GATEWAY device
  12263.     driver version 2.0, by Hans D. Kellner, provides an excellent  alternative.
  12264.     This device driver  is available on many bulletin boards under the filename
  12265.     GATEWAY2.ZIP.
  12266.  
  12267.     Since the  DOS CTTY command is not supported  within a DESQview window, you
  12268.     may use GATEWAY2 to  allow redirection of I/O.   This will allow  the SysOp
  12269.     Function 7 (drop to DOS) to function properly!  It will also allow  RBBS-PC
  12270.     DOORS to function that rely on the CTTY command.
  12271.  
  12272.     Instructions for installing GATEWAY2 with RBBS-PC.
  12273.  
  12274.        1) Place the file 'GATEWAY2.SYS' in your boot disk root directory.
  12275.        2) Add the following lines to your 'CONFIG.SYS' file:
  12276.  
  12277.           DEVICE=GATEWAY2.SYS -D -1  <-- for node-1 using COM1
  12278.           DEVICE=GATEWAY2.SYS -D -2  <-- for node-2 using COM2
  12279.  
  12280.          (note) You must change the [-d] parameter to [-f] if you are using a
  12281.                 FOSSIL driver (described later in this appendix).
  12282.  
  12283.       3) Run the  RBBS-PC CONFIG.EXE  program for each  node of  RBBS-PC you're
  12284.          using.   Select  parameter 106, and  specify that  you do NOT  want to
  12285.          redirect via CTTY.  CONFIG will then ask if you wish to redirect via a
  12286.          device driver.  Enter "Y", and then enter GATE2 as the device name.
  12287.  
  12288.     The  use of GATEWAY2 has an added  benefit for those SysOps who provide the
  12289.     PC-SIG  collection  of files  on CD-ROM.    When a  user A)rchives  a disk,
  12290.     RBBS-PC will use Gateway  to redirect the  archive activity (normally  seen
  12291.     only on the SysOp's screen) to the remote user.  This will allow the caller
  12292.     to see the PC-SIG disk being archived!
  12293.  
  12294.     11. FOSSIL Drivers - Break the 2-node Barrier under DESQview!
  12295.     -------------------------------------------------------------
  12296.     The BASIC language can only support COM1 and COM2, and when either of these
  12297.     are selected and you specify that you will not be  using a "FOSSIL" driver,
  12298.     RBBS-PC will use the  built-in BASIC support for remote access  (i.e. via a
  12299.     communications port and  a modem).    However, RBBS-PC will interface  with
  12300.     "FOSSIL" drivers that support not only COM1 and COM2 but also  COM3 through
  12301.     COM8.  If   you use parameter 221 to indicate that RBBS-PC is to access the
  12302.     communication port via a FOSSIL driver, the FOSSIL interface (FOSSCOMM.OBJ)
  12303.     written by Daan Van der Weide will be used.  FOSSCOMM is already built into
  12304.     RBBS-PC, so it will be active as soon as you select it.  In a multi-tasking
  12305.     environment  such  as  DESQview  up   to  8  copies  of  RBBS-PC  can   run
  12306.     simultaneously  accessing  COM1 to  COM8,  respectively, using  Ray Gwinn's
  12307.     X00.SYS device driver.    Ray can be  reached via FidoNet (109/639)  or the
  12308.     RENEX bulletin board  at (703) 494-8331 or (703) 690-7950.  X00.SYS is also
  12309.     available on many BBSs.
  12310.  
  12311.     When using FOSSIL support, you will select CONFIG parameter 221.  After you
  12312.     specify a  communications port,  CONFIG will ask  if it  should use  FOSSIL
  12313.     support.   Answer YES,  and then enter  the base comm  port address for the
  12314.     port.   See the chart later in  this section for common base port settings.
  12315.  
  12316.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page H-6
  12317.  
  12318.     If you  choose to  implement a  fossil driver,  you'll want  to change  the
  12319.     following parameter for each DESQview window:
  12320.  
  12321.        Options:
  12322.                 Uses serial ports (Y,N,1,2)..........: [N]   <--Set to NO
  12323.  
  12324.     If the  fossil is  handling communications, you  should tell  DESQview that
  12325.     RBBS-PC is NOT using  serial ports.  That way, only the  fossil is handling
  12326.     the communications for each port.
  12327.  
  12328.     In the  following text, we will attempt to  give you some basic information
  12329.     regarding the  use of  X00.SYS with RBBS-PC.   For  additional information,
  12330.     please refer to the documentation provided with the X00.SYS fossil driver.
  12331.  
  12332.     There are  several approaches that can  be taken to implement  serial ports
  12333.     with Ray Gwinn's  X00.SYS.  THE FIRST APPROACH involves the use of separate
  12334.     base I/O  addresses and separate  IRQs for each serial  port.  This  is the
  12335.     method  we  use on  our  BBS to  provide  4-ports on  a  single 80386-based
  12336.     computer.  We use the following configuration:
  12337.  
  12338.        Card #1   COM1   IRQ4   3F8h  (standard IRQ, standard base I/O)
  12339.        Card #1   COM2   IRQ3   2F8h  (standard IRQ, standard base I/O)
  12340.        Card #2   COM3   IRQ7   3E8h  (non-standard IRQ, standard base I/O)
  12341.        Card #2   COM4   IRQ5   2E8h  (non-standard IRQ, standard base I/O)
  12342.  
  12343.     We use  serial ports with the NS16550AFN UART  chips.  This particular chip
  12344.     is  recommended if you  intend to use  9600-bps modems  with multiple nodes
  12345.     under DESQview.
  12346.  
  12347.     Here is a  sample CONFIG.SYS line that  activates X00.SYS.  In  addition to
  12348.     specifying the  IRQs and  base I/O for  each port,  each port is  locked to
  12349.     19,200 bps.  High speed modems, or ones that use data compression will gain
  12350.     throughput if the port  speed is locked.  This is not  necessary if you are
  12351.     using  a standard  Hayes-compatible 2400-bps  modem.   This  entry is  on a
  12352.     single line but appears as two lines below.
  12353.  
  12354.      DEVICE=C:\X00.SYS E T=2048 R=2048 0=3F8,IRQ4 1=2F8,IRQ3 2=3E8,IRQ7 3=2E8,
  12355.      IRQ5 B,0,19200 B,1,19200 B,2,19200 B,3,19200
  12356.  
  12357.     We have also configured  GATEWAY2 (discussed earlier in this  text) to make
  12358.     use of the fossil driver.  The lines in CONFIG.SYS would be:
  12359.  
  12360.        DEVICE=C:\GATEWAY2.SYS -F -1  (gateway for COM1)
  12361.        DEVICE=C:\GATEWAY2.SYS -F -2  (gateway for COM2)
  12362.        DEVICE=C:\GATEWAY2.SYS -F -3  (gateway for COM3)
  12363.        DEVICE=C:\GATEWAY2.SYS -F -4  (gateway for COM4)
  12364.  
  12365.     THE SECOND APPROACH also  involves the use of a separate  base I/O for each
  12366.     port, but IRQs  are "shared".  Recent  versions of X00.SYS will  manage the
  12367.     use of a "Shared" IRQ.  For example, COM1 and COM2 on the first serial card
  12368.     share  IRQ4.  COM3  and COM4 on the  second serial card  share IRQ3.  Under
  12369.     this arrangement each port sharing an IRQ must be located on the SAME CARD.
  12370.     This  requirement  is not  due  to  X00.SYS  but  is, instead,  a  hardware
  12371.     restriction; IRQs cannot be shared between boards.
  12372.  
  12373.     In both the above examples, NON-intelligent serial cards are used.  RBBS-PC
  12374.     will NOT support the many "Intelligent" multi-port I/O cards on the market.
  12375.     However, RBBS-PC does work with the DigiChannel Digiboard.  See the chapter
  12376.  
  12377.     APPENDIX H -- Running in DESQview                                  Page H-7
  12378.  
  12379.     on "GOING MULTI-NODE" for the proper  set up.   These "Intelligent"  boards
  12380.     are  popular in  other  environments  (such as  UNIX)  but they  provide  a
  12381.     datastream into the  host using a  single base I/O  address.  RBBS-PC  must
  12382.     receive its communications at a separate base I/O for each port.
  12383.  
  12384.     Here's a chart  of generally accepted IRQs  and base I/O addresses  for the
  12385.     standard PC/AT and PS/2.  Although these are the common settings, they vary
  12386.     (and we stress VARY) according to serial card manufacturer.
  12387.  
  12388.                Standard AT BUS                    Microchannel (PS/2) BUS
  12389.     ------------------------------------------------------------------------
  12390.          PORT      BASE I/O      IRQ            PORT      BASE I/O      IRQ
  12391.     ------------------------------------------------------------------------
  12392.          COM1       3F8h        IRQ4            COM1       3F8h        IRQ4
  12393.          COM2       2F8h        IRQ3            COM2       2F8h        IRQ3
  12394.          COM3       3E8h        IRQ4            COM3       3220h       IRQ3
  12395.          COM4       2E8h        IRQ3            COM4       3228h       IRQ3
  12396.          COM5       3F8h        IRQ4            COM5       4220h       IRQ3
  12397.          COM6       2F8h        IRQ3            COM6       4228h       IRQ3
  12398.          COM7       3E8h        IRQ4            COM7       5220h       IRQ3
  12399.          COM8       2E8h        IRQ3            COM8       5228h       IRQ3
  12400.     ------------------------------------------------------------------------
  12401.  
  12402.     If  you intend  to duplicate the  4-node configuration as  in the preceding
  12403.     example, you will need to find a  serial card that will let you choose  any
  12404.     IRQ from IRQ3 to IRQ7 for each port (1 through 4).
  12405.  
  12406.     In closing, there are also some important issues to consider  when choosing
  12407.     to go beyond two ports on a single computer.  These include:
  12408.  
  12409.     1)   EXTERNAL  PROTOCOL SUPPORT.  The external  protocol drivers you choose
  12410.          must let  you either define the IRQ for  the additional ports, or they
  12411.          just rely  on the fossil  driver for their  communications.   In other
  12412.          words, they must have support for fossil drivers.  Some protocols scan
  12413.          a port for I/O without using an IRQ.   These will probably work if you
  12414.          use standard base I/O addresses for your additional ports.
  12415.  
  12416.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page H-8
  12417.  
  12418.      2)  CPU SPEED  LIMITATIONS.  Here's a chart indicating recommendations for
  12419.          each computer type, amount of EEMS memory and number of nodes.
  12420.  
  12421.                                --- PERFORMANCE ---
  12422.  
  12423.       HOST            1-Node 2-Nodes  3-Nodes 4-Nodes  5-Nodes 6-Nodes  7-Nodes
  12424.     8-Nodes
  12425.     COMPUTER       640k   1.4Mb   2.0Mb   2.6Mb   3.2Mb   3.8Mb   4.4Mb   5.0Mb
  12426.     ------------------------------------------------------------------------
  12427.     PC 4.77-MHz     A2     C3      F5      F5      F5      F5      F5      F5
  12428.     PC 8-12-MHz     A1     B2      D5      F5      F5      F5      F5      F5
  12429.     AT 8-12-MHz     A1     B2      C4      D5      F5      F5      F5      F5
  12430.     AT 16-20-MHz    A1     A1      B3      C3      D5      D5      F5      F5
  12431.     80386/SX        A1     A1      A2      B2      C4      C4      D5      D5
  12432.     80386/16-MHz    A1     A1      A2      A2      B3      B3      C4      C4
  12433.     80386/25-MHz    A1     A1      A2      A2      B3      B3      C3      C3
  12434.     80386/33-MHz    A1     A1      A1      A2      B3      B3      B3      B3
  12435.     --------------------------------------------------------------------------
  12436.                       A=EXCELLENT at 2400-bps    1=EXCELLENT at 9600-bps
  12437.                       B=GOOD at 2400-bps         2=GOOD at 9600-bps
  12438.                       C=MARGINAL at 2400-bps     3=MARGINAL at 9600-bps
  12439.                       D=POOR at 2400-bps         4=POOR at 9600-bps
  12440.                       F=Not Recommended          5=Not Recommended at 9600-bps
  12441.     --------------------------------------------------------------------------
  12442.     Your results may vary due to specific hardware differences.
  12443.  
  12444.     If you plan to support BPS rates of 9600 or above on one or more nodes, we
  12445.     recommend the use of NS16550AFN UART chips.  These chips are necessary for
  12446.     acceptable Zmodem (DSZ) performance under DESQview.
  12447.  
  12448.     12. RBBS-PC Technical Support For DESQview
  12449.     ------------------------------------------
  12450.     If you would like  additional information about  DESQview and RBBS-PC,  you
  12451.     may contact the following RBBS-PC system:
  12452.  
  12453.          Indiana On-Line (tm)
  12454.          John L. Taylor, SysOp
  12455.          (812) 332-RBBS  (3/12/24/96/14.4KBPS)
  12456.  
  12457.     APPENDIX I -- Using RBBS-PC with DoubleDOS                         Page I-1
  12458.  
  12459.     APPENDIX I -- Using RBBS-PC with DoubleDOS
  12460.     ------------------------------------------
  12461.     Two nodes of RBBS-PC can be operated  on one 640K PC/XT/AT under DoubleDOS.
  12462.     First, make sure DoubleDOS and RBBS-PC, individually, operate  correctly on
  12463.     your  computer.  Then,  the DDCONFIG.SYS file can  be changed to facilitate
  12464.     operation of RBBS.  SoftLogic Solutions, the DoubleDOS supplier, operates a
  12465.     customer service  BBS  at 603-644-5556  and  can often  help  with  special
  12466.     problems.  (An example: DoubleDos version  4.0 must be modified with  their
  12467.     special patch in order to operate  on machines using EEMS memory controlled
  12468.     by AST's REMM.SYS driver.)
  12469.  
  12470.     DoubleDOS even has a  special interrupt that  RBBS-PC calls to "give  back"
  12471.     unused time to the foreground job when it really doesn't need the time,  so
  12472.     that during periods of low communications activity, the foreground job runs
  12473.     at essentially 100% of the machine's  speed.  GIVEBACK is incorporated into
  12474.     releases 16.1A (and greater) of RBBS-PC.
  12475.  
  12476.     The  DOS (3.1  or  greater) utility  SHARE  should be  run  before starting
  12477.     DoubleDOS to provide for file locking.                                     
  12478.  
  12479.  
  12480.     RBBS-PC,  due to  the  code generated  by  the BASIC  compiler, requires  a
  12481.     considerable amount of memory.  If insufficient memory is available,  RBBS-
  12482.     PC may fail to load, may report a string corrupt error, may hang, or, worst
  12483.     of all,  may appear to  start and operate normally  only to fail  later.  A
  12484.     (partial) test of whether enough memory is available is to note the DS free
  12485.     space in the SysOp initial menu when operating  under DoubleDOS compared to
  12486.     naked DOS; any  reduction in this  reported free space may  indicate memory
  12487.     shortage.  The best  approach, unfortunately, is to start  with more memory
  12488.     than necessary, get  your system going reliably,  and then do a  crude cut-
  12489.     and-try process of  reducing memory until problems first  appear; then back
  12490.     off up to an again-reliable memory setting.
  12491.                                                                               
  12492.  
  12493.     Terminate-and-stay-resident programs  (e.g. ramdisks, print  spoolers, Side
  12494.     Kick) will reduce the  memory available to RBBS-PC.   Buffers specified  in
  12495.     the CONFIG.SYS file also reduce available memory.  Some versions of DOS are
  12496.     smaller than others; every little bit of memory helps.  Large  programs may
  12497.     not run in  the second DoubleDos  memory section after starting  RBBS-PC in
  12498.     the first.
  12499.  
  12500.     Because of these memory considerations, SHELLing to DOORS and external file
  12501.     transfer protocols will  not be possible.  If these features of RBBS-PC are
  12502.     used, they will need to be invoked by EXITing to them.
  12503.  
  12504.     The BASIC compiler  version used determines the amount  of memory required.
  12505.     Two  nodes  of  RBBS(version  16.1A), have  been  demonstrated  to  operate
  12506.     successfully under DoubleDOS when compiled with Quick Basic 1.02 and  RBBS-
  12507.     PC's memory  requirements reduced  (see Appendix  U).   When compiled  with
  12508.     Quick Basic 2.x,  3.x or 4.x, two nodes  will not fit under  DoubleDOS.  To
  12509.     save memory,  expert SysOps  who are adept  at compiling/linking  their own
  12510.     custom versions of  RBBS-PC, can selectively (and at their own risk) delete
  12511.     from the  source code  sections that they  do not  require.   Such personal
  12512.     versions should  not be circulated  to others.   If this is done,  the more
  12513.     recent compilers may produce code compact enough for 2 nodes.
  12514.  
  12515.     DoubleDOS  has  several  parameters  that  can improve  RBBS-PC  operation.
  12516.     Sample:   
  12517.  
  12518.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page I-2
  12519.  
  12520.          menu = short                    ;the long menu requires more memory
  12521.          display = text                  ;to not reserve graphics buffer
  12522.          print driver = direct           ;use direct drive, no buffer reserved
  12523.          bottom size = half              ;split memory for two RBBS-PC nodes
  12524.          priority = equal                ;both nodes run at same speed
  12525.  
  12526.     The next items  may be desirable to provide protection, in case any program
  12527.     in the other memory section should try to use a COM port  assigned to RBBS-
  12528.     PC.
  12529.            com1  = top                               ;obviously these  two port
  12530.     assignments
  12531.            com2 = bottom                   ;could be reversed
  12532.  
  12533.     Possible circumstances that might warrant this protection:
  12534.  
  12535.     1.SysOp makes  a COM port assignment  error in the .DEF file  for the other
  12536.     node.
  12537.     2.one node is  temporarily shut down by  the SysOp to run  another program.
  12538.     Some  programs (e.g.  some versions  of  BASIC) initialize  both COM  ports
  12539.     (clobbering RBBS-PC) when started.
  12540.  
  12541.     Warning:  this protection is known  to be unusable on some machines  (e.g.,
  12542.     works fine  on IBM-PC 8088, does not work on AST Premium 286 or TATUNG 4000
  12543.     AT).
  12544.  
  12545.     It is convenient (and safer, to  prevent keystroke errors) to automate your
  12546.     startup.   In your  AUTOEXEC.BAT file you should  initiate DOUBLEDOS as the
  12547.     last item.   It will then start,  using the DDCONFIG.SYS file  for detailed
  12548.     RBBS-PC  instructions.    Sample  DDCONFIG.SYS  contents  (this  will  vary
  12549.     according to your exact setup):
  12550.  
  12551.          top program = prompt TOP $p$g
  12552.          top program = go
  12553.          bottom program = prompt BOT $p$g
  12554.          bottom program = go
  12555.  
  12556.     Note that the  change in prompt allows  a single batch file,  GO.BAT, which
  12557.     has  the single statement  of GO%PROMPT%,  to execute  the correct  node of
  12558.     RBBS-PC in either node.  Nothing is more embarrassing than to start a  node
  12559.     that is already operating.  All that need be typed is GO<RETURN> and either
  12560.     GOTOP  or GOBOT will  be executed.   (Actually the GO  batch file execution
  12561.     looks like  "TOP C:\DDOS>GOTOP  $p$g".   The $p$g  is ignored.)   GOTOP.BAT
  12562.     might then look like this:
  12563.         C:
  12564.         CD\RBBS
  12565.         RBBS1    
  12566.  
  12567.     RBBS1.BAT  would then  be  the first  node RBBS.BAT  as  discussed in  this
  12568.     document.  Similarly, GOBOT would start RBBS2.BAT for the second node.
  12569.  
  12570.     Stan Staten, RBBS-PC number (301) 670-9621
  12571.     Kurt Riegel, RBBS-PC number (202) 524-1837)
  12572.  
  12573.     APPENDIX J -- RBBS-PC in a MultiLink Environment                   Page J-1
  12574.  
  12575.     APPENDIX J -- RBBS-PC in a MultiLink Environment
  12576.     ------------------------------------------------
  12577.     RBBS-PC only runs under Multilink versions 4.0, 3.02 and earlier.
  12578.  
  12579.     CONFIG's allows  the SysOp  to tell RBBS-PC  that it  will be running  in a
  12580.     MultiLink environment.    This  is ESSENTIAL  when  running  RBBS-PC  under
  12581.     MultiLink.  CONFIG allows the SysOp to specify what MultiLink terminal type
  12582.     code to pass to MultiLink whenever RBBS-PC exits to DOS via a  "Door".  The
  12583.     MultiLink documentation specifies the various terminal type codes.  When  a
  12584.     SysOp indicates that "doors"  are available (via  parameter 101 of  CONFIG)
  12585.     and RBBS-PC is to be run under MultiLink, the SysOp  is asked to select the
  12586.     MultiLink terminal type that RBBS-PC is to inform MultiLink to expect  when
  12587.     MultiLink is given control of the "Door."
  12588.  
  12589.     RBBS-PC has been  tested running two  copies of RBBS-PC  under DOS 3.2  and
  12590.     MultiLink Advanced (versions 3.02 and 4.0) on an IBM PC which had a mother-
  12591.     board containing  256K and  an AST Comboplus  board with  384K (a  total of
  12592.     640K).  However, to  do this RBBS-PC must be re-compiled  (see Appendix U).
  12593.     The "autoexec"  file was  named AUTOEXEC.BAT  and  contained the  following
  12594.     parameters
  12595.  
  12596.                         MLINK /9,266/9,266
  12597.  
  12598.     NOTE! ==>RBBS-PC must  be recompiled with C:512  in order to run in  a 268K
  12599.     partition  under MultiLink.   As  released,  RBBS-PC is  compiled with  the
  12600.     parameter C:4096 which requires a MultiLink  partition of 270K.  Of course,
  12601.     to SHELL to the external protocols, the partitions must be about 440K. 
  12602.  
  12603.     It  is important to avoid  doing several things  when running RBBS-PC under
  12604.     MultiLink.  First,  NEVER RUN MLSLICE!   This is because MLSLICE  hangs off
  12605.     the PC's timer chain and the code generated by the BASIC compilers violates
  12606.     all sorts of  DOS conventions  whenever it  is utilizing  the PC's  speaker
  12607.     (i.e. as when RBBS-PC pages the SysOp).  In so doing, the code generated by
  12608.     the BASIC  compilers  is incompatible  with  programs that  do  follow  DOS
  12609.     conventions.  
  12610.  
  12611.     Second, NEVER  use the DOS "PRINT" command!  This is because there is a bug
  12612.     in the code generated by the BASIC compiler  that causes the system to hang
  12613.     if a compiled BASIC program is running and DOS is printing something.  This
  12614.     bug  has been  corrected in the  BASIC compiler  that was used  to generate
  12615.     RBBS-PC.EXE that is distributed.  However  the version of RBBS-PC that  you
  12616.     get (if other  than from CPCUG) may not have this bug corrected.  This is a
  12617.     bug that occurs independent of running MultiLink.
  12618.  
  12619.     Third, check your Intel 8088 chip's copyright  date by opening up the cover
  12620.     and locating the 8088 chip.  If the copyright date  printed on the chip  is
  12621.     1978 (i.e. pre 1981), REPLACE THE INTEL 8088 CHIP!!!!!  The 1978 Intel 8088
  12622.     chip  had  several design  flaws that  will  cause your  system to  lock up
  12623.     occasionally.  One of these design flaws allowed  interrupts to occur while
  12624.     stack switching  (something that  will happen  running multiple  partitions
  12625.     doing disk I/O under any multi-tasking DOS add-on such as MultiLink or even
  12626.     IBM's TopView).   Don't blame MultiLink for the flawed Intel 8088 chip that
  12627.     IBM put in  your PC!   It costs  about $70 ($35  for the  chip and $35  for
  12628.     labor)  and  takes  about 15  minutes  to  have the  1978  Intel  8088 chip
  12629.     replaced.  In fact,  if you are going to replace your 1978 Intel 8088 chip,
  12630.     you might consider the newer (and 5% to 10% faster) NEC V20 chip.
  12631.  
  12632.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page J-2
  12633.  
  12634.     Fourth, DON'T USE  "BUFFERS=" in the CONFIG.SYS  for DOS!   This may be  an
  12635.     "old wives  tale," but  I am  convinced (but  can't prove)  that there  are
  12636.     incompatibilities between the code the BASIC  compiler generates, DOS's use
  12637.     of "BUFFERS=", and MultiLink.  
  12638.  
  12639.     fifth, RBBS-PC will only run in Background 1 or Background 2.
  12640.  
  12641.     Finally, DON'T  RUN PROGRAMS  THAT USE  THE BASIC  "RUN-TIME" LIBRARY,  and
  12642.     always invoke the  BASIC interpreter with the command BASIC  /C:0! Both the
  12643.     BASIC interpreter's handling of communications ports and BASRUN.EXE seem to
  12644.     violate enough DOS conventions to "lock up" MultiLink.
  12645.  
  12646.     When  RBBS-PC is  told that it  is running  in a MultiLink  environment via
  12647.     CONFIG parameter 162, RBBS-PC will automatically do the following:
  12648.  
  12649.       1) When  re-cycling,  it  will  automatically   enqueue  on  the  correct
  12650.          MultiLink  resource ID for  the communications port  defined in CONFIG
  12651.          for that copy of RBBS-PC to use.
  12652.       2) When re-cycling, it  will automatically tell MultiLink that  this is a
  12653.          type "9" partition (i.e. MultiLink is NOT to handle the communications
  12654.          port).
  12655.       3) When exiting  to DOS via a  "door", RBBS-PC will automatically        
  12656.          tell  MultiLink to start  handling the communications for  this       
  12657.          partition (COM1 or COM2) and  what type of terminal was defined       
  12658.          in CONFIG that  would be on the communications  port (MultiLink       
  12659.          terminal types 1 through 12).
  12660.  
  12661.     Manually, it  is possible to  bring up  and run one  copy of RBBS-PC  under
  12662.     MultiLink.  The  only way that I have  been able to bring up  two copies of
  12663.     RBBS-PC successfully (one  copy running in each  of two partitions)  was to
  12664.     bring them  up via AUTOEXE1.BAT  and AUTOEXE2.BAT  files.  It  appears that
  12665.     during  the MultiLink initialization sequence when the partitions are being
  12666.     established  and the "AUTOEXEx.BAT" files  are being invoked that MultiLink
  12667.     doesn't  get "confused" and lock up with a second copy of RBBS-PC present. 
  12668.  
  12669.     If using  Multi-Link  to  run multiple   nodes in  the same   machine under
  12670.     DOS 3.x or  above, it is recommended that the SysOp execute SHARE.COM prior
  12671.     to starting multiple RBBS-PC nodes under Multi-Link and specify FILES=20 in
  12672.     the CONFIG.SYS file.
  12673.  
  12674.     APPENDIX K -- RBBS-PC in a CORVUS Network                          Page K-1
  12675.  
  12676.     APPENDIX K -- RBBS-PC in a CORVUS Network
  12677.     -----------------------------------------
  12678.     RBBS-PC  uses  the  standard Corvus  SEMAPHORES  when  sharing files  among
  12679.     multiple copies of  RBBS-PC within a Corvus Network.   This is accomplished
  12680.     via  the MS-DOS  utility driver,  DRIVEC2,  that Corvus  supplies with  its
  12681.     network.  
  12682.  
  12683.     On a multi-server Corvus network (i.e. where there are multiple shared hard
  12684.     disk drives)  all PC's that are  running RBBS-PC within the  Corvus network
  12685.     MUST have their  "home volume" on the  same server.  Corvus  maintains each
  12686.     PC's semaphores  on that  PC's "home volume".   In  order to  "share" files
  12687.     among various PC's  in a Corvus  network, all the  PC's that are  "sharing"
  12688.     must also  be looking at  the same set  of semaphores.   In a single-server
  12689.     Corvus network this is not a consideration because there is only  one "home
  12690.     volume."  
  12691.  
  12692.     RBBS-PC has  been only  tested with the  Corvus CONSTELLATION  II interface
  12693.     cards and software  that Corvus provides  for the IBM  PC.  RBBS-PC  should
  12694.     work with both  Corvus' older "flat cable"  network as well as  their newer
  12695.     OMNINET  twisted wire  pair  cable network  when  running CONSTELLATION  II
  12696.     software.    It is  entirely  possible that  RBBS-PC would  work  with some
  12697.     combination  of both  Corvus  network types  as long  as they  were running
  12698.     CONSTELLATION II software.
  12699.  
  12700.     It should be  self-evident that  every PC within  a Corvus network  running
  12701.     RBBS-PC must  have a Corvus interface card.   If multiple copies of RBBS-PC
  12702.     are running in a  Corvus network that is using older  Corvus software (i.e.
  12703.     NOT running the CONSTELLATION  II software), the  interface cards must,  at
  12704.     least, all have the CONSTELLATION II ROM. 
  12705.  
  12706.     RBBS-PC is tested only to run on IBM PC's within a Corvus network.  Clearly
  12707.     an  IBM "clone" that  can run IBM's  DOS, RBBS-PC.EXE, and  is supported by
  12708.     Corvus' network should also work.  However, such configurations (and  their
  12709.     many variations) are not  part of the  environment within which RBBS-PC  is
  12710.     tested and supported.
  12711.  
  12712.     APPENDIX L -- RBBS-PC in ORCHID or AST PCnet NETWORK               Page L-1
  12713.  
  12714.     APPENDIX L -- RBBS-PC in ORCHID or AST PCnet NETWORK
  12715.     ----------------------------------------------------
  12716.     RBBS-PC can  be  implemented  on  an  Orchid PCnet  or  AST  PCnet  Network
  12717.     environment.   It  is  assumed  that  the  necessary  network  hardware  is
  12718.     installed  correctly.    The  following   discussion  describes  a  network
  12719.     currently in operation and  receiving more than 1000 calls per  week on two
  12720.     telephone  lines  for the  Computer  Connection  of  Virginia Beach.    The
  12721.     hardware and software was:
  12722.     1.  80286 based SERVER with 512K running at up to 9 MHz with:
  12723.            Parallel-Serial Board on the AT with a serial port addressed as COM1
  12724.            AST Rampage memory board configured with 2 megs of expanded memory
  12725.            Monochrome Adapter with parallel printer port
  12726.            PC Net adapter addressed as 0080 with default jumpers
  12727.            Hard disk that can be divided into multiple volumes
  12728.            Single High Density [1.2 meg] floppy disk
  12729.            External modem and cable connected to COM1
  12730.     2.  8088 based WORKSTATION with 640K running at up to 8 MHz with:          
  12731.           multifunction board with COM1, a clock, and parallel port
  12732.            PC Net adapter addressed as 0011 with default jumpers
  12733.            Color Graphics Adapter
  12734.            Two 360K floppy drives
  12735.            External modem and cable connected to COM1
  12736.     3. Software -
  12737.            Operating System = DOS 3.1 network-wide
  12738.            Network Software = Orchid PC Net 3.0a
  12739.            Disk Caching Software = Orchid CACHE.EXE version 2.2
  12740.            RAM Disk = AST FASTDISK
  12741.     Installation procedures ---
  12742.     1. Preliminaries
  12743.        1. Backup hard disk, system and network disks.
  12744.        2. If your hardware is different, be sure to resolve INTerrupt conflicts
  12745.     with  the PC NET adapters.  Disable  second serial or parallel ports in all
  12746.     PC's.
  12747.     2. Using the WORKSTATION, boot with DOS 3.1 then
  12748.        1. Create the SERVER and  WORKSTATION boot disks with SPCGEN  and UPCGEN
  12749.     commands, respectively.
  12750.        2. Copy device  drivers for the  hard disk,  for the RAM  disk, and  for
  12751.     Expanded and Extended memory (REMM.SYS and REX.SYS) to the SERVER boot disk
  12752.     as well as CACHE.EXE.  Place the following CONFIG.SYS file for the SERVER:
  12753.           device=spc.com                       <-- Network SERVER driver
  12754.           device=REMM.SYS                      <-- Expanded memory driver
  12755.           device=rex.sys 1024                  <-- 1MB Emulated extended memory
  12756.           device=fastdisk.sys 1024 512 128 /e  <-- RAM disk in extended memory
  12757.     3. Place the following commands in the AUTOEXEC.BAT file:
  12758.           disk13                        <-- Network for floppy disk use
  12759.           cache [drives] d=128 x=896 /r <-- 128K cache of  DOS memory & 896K of
  12760.     EMS memory for SERVER drives to reduce the number of disk accesses
  12761.           spcbio 138023                 <-- Tell network of interrupts used
  12762.     4. Using the SERVER, boot with the newly created SERVER boot disk
  12763.        1. Run the network program SPCINST.
  12764.        2. After naming all  the available drives on the server,  assign all the
  12765.     hard drive volumes to the WORKSTATION # 11 and them all READ/WRITE capable.
  12766.     "Remote Execution" need not be enabled.
  12767.        3. The  SERVER will  then reboot  and the  network will  have the  final
  12768.     configuration as outlined above.
  12769.     5. Boot the WORKSTATION with the newly created WORKSTATION boot disk and:
  12770.        1. Add FILES = 16 to the CONFIG.SYS file for the WORKSTATION.
  12771.        2. Use the network program UPCINST to communicate with SERVER # 80.
  12772.  
  12773.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page L-2
  12774.  
  12775.        3. "Map" in all the drives that were assigned by the SERVER.
  12776.        4. The WORKSTATION will reboot so the changes can take effect.
  12777.        5. After the WORKSTATION reboots, do a DIR C: to see if the directory on
  12778.     the SERVER hard  disk can be read.   If not, recheck  cables, plug-in cards
  12779.     for INTerrupt  conflicts, and  network adapter cards  to verify  all jumper
  12780.     settings.   If necessary, run the SELFTEST  and NETTEST diagnostics for the
  12781.     network  adapter cards.  Also, demonstrate the ability to copy files across
  12782.     the  network to and from the server then verify the transfer using the COMP
  12783.     command.
  12784.     6. Assuming that you are able to do a DIR across the network and copy files
  12785.     to and from  the SERVER, you are  then ready to run CONFIG.EXE  of RBBS-PC.
  12786.     Run CONFIG and confirm  use of RBBS-PC in a multinode  environment.  Assign
  12787.     the number 1 Node to your SERVER.
  12788.     1. Assign all  welcome, bulletin, help and  menu files to the  SERVER's RAM
  12789.     drive so the workstation may access them in the fastest way.
  12790.     2. Store FILESEC, PASSWRDS, MESSAGES, USERS and other  sensitive files in a
  12791.     non-downloadable but sharable drive volume on the SERVER so the workstation
  12792.     may have read/write access to them.
  12793.     3. Select a location for the SERVER's CALLERS file and the WORKSTATION's.
  12794.     4. Reflect the  node numbers in the  BATch file names, e.g.  RCTTY1.BAT and
  12795.     RCTTY2.BAT, RBBS1.BAT and RBBS2.BAT.
  12796.     5. Choose PCNET as the environment that you are running RBBS-PC under.
  12797.  
  12798.     Other Considerations--
  12799.     VDISK or Extended memory,  which is not-emulated memory, should not be used
  12800.     on  the  SERVER  but  can  be  used  on  the  Workstation.     The  network
  12801.     configuration most likely to remain operating with very few problems is DOS
  12802.     3.1,  Orchid  3.0a  PC  NET  software  and  CACHE.EXE  version  2.2 and  an
  12803.     Expanded/Extended  memory combination  using the  new Lotus/Intel/Microsoft
  12804.     EMS memory boards. 
  12805.  
  12806.     Two nodes can be efficiently set up using the SERVER in  non-dedicated mode
  12807.     but the danger is  that if the SERVER locks up, the  whole system locks up.
  12808.     The sample PC Net system is set up  in this fashion but it is an economical
  12809.     approach to a  two node system which  has been functioning quite  well with
  12810.     minimal problems.  Do not run software on the SERVER that is known to cause
  12811.     problems especially memory resident  utilities.  There  is a potential  for
  12812.     files being CROSS-LINKED in any  read/write sharable environment.  Frequent
  12813.     backups are to be very strongly recommended.
  12814.  
  12815.     Because  of  wide  variety of hardware combinations  and  possible  network
  12816.     permutations,  the  above  is  intended ONLY as general  guidelines  to  be
  12817.     followed when installing RBBS-PC on your Orchid network.
  12818.  
  12819.     Rob Cecchino
  12820.     SysOp, Computer Connection
  12821.     (804) 481-1824 at 1200/2400 for assistance.
  12822.  
  12823.     APPENDIX M -- RBBS-PC in an Alloy PC-SLAVE/16 Environment          Page M-1
  12824.  
  12825.     APPENDIX M -- RBBS-PC in an Alloy PC-SLAVE/16 Environment
  12826.     ---------------------------------------------------------
  12827.     The  PC-Slave  is   an  IBM  compatible  computer  on   an  expansion  card
  12828.     manufactured  by Alloy  Computer  Products, Inc.  of Framingham,  MA 01701.
  12829.     Their telephone number is (617) 875-6100.  Adding PC-Slaves converts the PC
  12830.     from a single CPU to a multiple  CPU, all under the control of the  main or
  12831.     host PC.   Each slave can run RBBS-PC (or other programs).  
  12832.  
  12833.     A. THE ADVANTAGES:  Compared to other means for running multiple RBBS-PC's,
  12834.     the advantages of slaves are:
  12835.  
  12836.     1. SPEED --  Each copy of  RBBS-PC has a  dedicated computer and  therefore
  12837.     runs  very  fast  compared  to   multi-tasking  products  like  Multi-Link,
  12838.     DesqView, or DoubleDOS.
  12839.  
  12840.     2. SHARED FILES -- Each bulletin board can share files, including the users
  12841.     and messages.  The PC Slave system can act like Orchid's PC-Net network, or
  12842.     a NetBIOS LAN for record locking.
  12843.  
  12844.     3.EXPANDABILITY -- You can  have up to 31 slaves.  Adding an extra Slave is
  12845.     simple, and does  not degrade  system performance.   The  power supply  and
  12846.     cooling capacity of a PC-2 or XT limit you  to adding only 2 slaves.  An AT
  12847.     can have up to four.   You can buy PC compatibles that have  more expansion
  12848.     slots.  You can also get an expansion chassis designed for up to 12 Slaves.
  12849.  
  12850.     4. COSTS -- It is far cheaper to expand using PC-Slave/16's than a network.
  12851.     The  PC-Slave lists for  $900 and can be  purchased for significantly less.
  12852.     Other networks require not only a separate PC but also  a "network" card of
  12853.     some sort which puts the costs of each port well above $2,000.
  12854.  
  12855.     5. DEDICATED PC IS  NOT REQUIRED -- Your PC can remain free  for you to use
  12856.     while slaves  run the bulletin boards (or run  another copy of the bulletin
  12857.     board).      You do  not  degrade  performance on  the  slaves,  except for
  12858.     contention for  the  hard disk  and that  can be  mitigated  by using  disk
  12859.     caching.
  12860.  
  12861.     6. EASY SNOOP.   Using Alloy  utilities GIMME  and VIEW, you  can view  the
  12862.     session on any slave and attach your  keyboard to it.  You can also install
  12863.     a dumb monitor to any slave.
  12864.  
  12865.     B. THE DISADVANTAGES:  The disadvantages of a slave system are:
  12866.  
  12867.     1. COMPATIBILITY --Not all hard disks are compatible with the slaves.  Hard
  12868.     disks known to be compatible include the Seagates, Priam 60 meg, Bernoulli,
  12869.     and Maxtor hard disks, as well as the Alloy line of hard disks.  Hard disks
  12870.     definitely not compatible include all models of US Design.
  12871.  
  12872.     C. OVERVIEW OF SETTING UP A PC-SLAVE/16 RBBS-PC:  Five easy steps on how to
  12873.     install RBBS-PC in a PC-Slave/16 environment (Note that the PC Slave system
  12874.     requires a special configuration for RBBS-PC):
  12875.  
  12876.     STEP  1 --  If you  want to allow  simultaneous callers,  you will  have to
  12877.     purchase multiple  telephone lines.  They can be  made to roll so that only
  12878.     one number  is called, and if  busy, the call  will roll over to  the other
  12879.     lines.
  12880.  
  12881.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page M-2
  12882.  
  12883.     STEP 2 -- Install the slaves.  Remember to set switches on the slave boards
  12884.     that  number  them  consecutively.   See  the  PC-Slave  documentation  for
  12885.     details.
  12886.  
  12887.     STEP  3 -- Install  the software.   The Alloy PC-Slave  has to have special
  12888.     Alloy software called NTNX  to coordinate the  slaves and process  requests
  12889.     for shared resources.  See the NTNX documentation for details.
  12890.  
  12891.     STEP 4 -- Install a modem with no pin  22.  Pin 22 used to be required with
  12892.     RBBS-PC in  order to answer  the phone.   On the  slaves, pin 22  CANNOT be
  12893.     connected, or  else the  slave will  continuously reboot.   However,  newer
  12894.     slaves support pin 22.
  12895.  
  12896.     STEP 5 -- Configure RBBS-PC using CONFIG.EXE with the following parameters:
  12897.          (a)  use COM2 (parameter 221)
  12898.          (b)   Via parameter 29 tell RBBS-PC it is running on an IBM compatible
  12899.     rather than  a PC,  XT, or AT.   (Lie  and tell RBBS-PC  you have  a Compaq
  12900.     Plus.)
  12901.          (c)  Use  CONFIG parameter 161 to  set the maximum number  of bulletin
  12902.     boards to as many boards as  you intend to install (rather than  the number
  12903.     you are currently running.  This makes expansion easier.).
  12904.          (d)   PC-Net is the  multi-user environment you will  be running under
  12905.     and should indicate so via CONFIG parameter 162.
  12906.          (e)  Set up the RBBS-PC files.
  12907.  
  12908.     Read Appendix G for general considerations on running a multi-node  RBBS-PC
  12909.     system.  Since all PC-Slaves have access to  all hard drives, configuration
  12910.     of files is quite simple.
  12911.  
  12912.     Please note that the  NTNX software is very vulnerable to  any RAM resident
  12913.     software.   You  should install  the  Slaves with  no  additional  software
  12914.     present and carefully test any resident software you want to run with it.
  12915.  
  12916.     D. A DETAILED DESCRIPTION OF SETTING UP A PC-SLAVE 16 RBBS-PC:
  12917.  
  12918.     Hardware Limitations:
  12919.  
  12920.     1. Two  PC/Slave 16 cards  per XT  box or four  in an AT  maximum otherwise
  12921.     you'll be buying power supplies frequently.  An expansion chassis  for four
  12922.     cards (Alloy  Plus4) or expansion  chassis for up  to twelve cards  will be
  12923.     needed for bigger systems.  Expansions boxes can be daisy-chained to  up to
  12924.     thirty one Nodes or workstations, if needed.
  12925.  
  12926.     2. PC/Slave 16 cards do  not support PIN 22 for Ring Detect.   If PIN 22 is
  12927.     connected, your slave will re-boot every time the phone rings!
  12928.  
  12929.     3. No clock on the PC/Slave 16 card.  The Slave gets the Time and date from
  12930.     the main system clock.  Each time you update the host clock, all the slaves
  12931.     will update as well.
  12932.  
  12933.     4. A terminal such as a Kimtron KT-7/PC or Alloy PCST is needed if you want
  12934.     to work on a slave  the same as you would on the host  computer (but not if
  12935.     you just  want to view activity  on slaves occasionally).   Other terminals
  12936.     will work but may not support all of the IBM extended graphics codes.   For
  12937.     a multi-node  RBBS-PC, one terminal  can be used with  an A-B-C-D switching
  12938.     box to 'dial in' to the node you wish to work with.
  12939.  
  12940.     APPENDIX M -- RBBS-PC in an Alloy PC-SLAVE/16 Environment          Page M-3
  12941.  
  12942.     5. The Slaves'  CPU [NEC V20 @ 8  MHz] shuts down when writing  to the hard
  12943.     disk.   This creates  problems  with timeout  errors  on uploads.    Upload
  12944.     problems can be eliminated by using the write buffer option in NTNX 1.64 or
  12945.     higher (/B). The problem can also be  alleviated by using a fast hard drive
  12946.     supported by  Alloy.  Also, the hard drive must  be formatted with the most
  12947.     efficient interleave  setting and  driver.  Hard  drives that  work without
  12948.     significant upload  timeout errors have  been formatted with  either Golden
  12949.     Bow's Vfeature  Deluxe  or Priam's  formatting  software; this  problem  is
  12950.     especially noticeable on AT systems and not  too much of a problem on small
  12951.     XT systems.  Seagate,  Bernoulli Box, Maxtor, and Priam Inner  Space drives
  12952.     seem to work fine with the Alloy PC/Slave-16 cards.  
  12953.            
  12954.     Software Limitations:
  12955.  
  12956.     1. ATNX runs Orchid PC Net applications but NTNX is more versatile and will
  12957.     run applications for  Novell's Advanced Netware, MS-Net, AND  Orchid PC Net
  12958.     with proper file locking.  NTNX has had less problems with  file corruption
  12959.     and cross-linking than ATNX, according to SysOps using Alloy Slaves.
  12960.  
  12961.     2.  The  slaves  get  the  date/time from  the  host  computer.    Constant
  12962.     processing can cause  the host clock to  drift.  A utility  to periodically
  12963.     update your  host computer clock  is recommended.   Also, WXMODEM  does not
  12964.     work in  upload mode  on  Slaves due  to a  timing problem  in the  initial
  12965.     handshake.  Alloy's solution to  this problem is a file  called UPTIME.COM,
  12966.     which  is run on the HOST, but  I have had very poor  results with it.  The
  12967.     problem seems to be most identifiable on AT class machines.
  12968.  
  12969.     For the  optimum system flexibility you may  want to buy Alloy PC/Slave-16N
  12970.     cards which  have the  special PAL chip  for NTNX/Novell  compatibility and
  12971.     NTNX software.  RBBS-PC,  however, will run fine without the  PAL chip even
  12972.     under NTNX.
  12973.  
  12974.     Some  nice  additional   utilities  for   the  Slaves,  including   special
  12975.     diagnostics, are found in the separate PC-Plus Advanced User's Kit and  are
  12976.     worth having.   A single Kimtron  KT-7/PC terminal or  other smart terminal
  12977.     may be obtained right away but is not necessary for the bulletin-board-only
  12978.     system as  one  can always  sign on  from remote  for  answering mail;  pay
  12979.     special attention to the terminal-to-Slave cable as it is non-standard  and
  12980.     you'll probably wind up making it yourself for less than $5 in parts -- one
  12981.     end is a male 9-pin  D-shell and the other is 25-pin RS-232 male connector.
  12982.     For a two to four node system, obtain a switch box to hook  the terminal as
  12983.     COMMON and Slave  consoles.  The computer  to house the Slaves,  called the
  12984.     HOST,  should be  the quickest  CPU  speed that  you  can obtain.   All  PC
  12985.     Slaves/16 should be purchased with 1 megabyte of onboard RAM.
  12986.  
  12987.     Installation:
  12988.  
  12989.     1. Format your hard drive with the DOS supported by the version of NTNX you
  12990.     purchase (currently DOS 3.3).
  12991.  
  12992.     2. Divide the hard  drive into multiple volumes of standard  DOS size (less
  12993.     than 32 megabytes).
  12994.  
  12995.     3. Install NTNX and the Slaves according to the Alloy  manuals.  Choose the
  12996.     default settings for everything.  Use  512K on the 1 megabyte PC/Slave  for
  12997.     caching  and the other   512 to  run RBBS.   Depending on how  the board is
  12998.     configured,  you may  need to  set  switches so  that 512  is  used to  run
  12999.  
  13000.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page M-4
  13001.  
  13002.     applications.  Use 4K for the Host PC caching.  Allocate 25  files per each
  13003.     Slave + 64 for the maximum number of open files.
  13004.  
  13005.     4. Set  up the CONFIG.SYS  and AUTOEXEC.BAT files  for the HOST  as follows
  13006.     especially if you do not plan to use the HOST as a Node for RBBS-PC:
  13007.        CONFIG.SYS
  13008.           device=NX.SYS          -  NTNX driver (must be first!!)
  13009.           device=hard_drv.sys    -  Your hard Disk driver
  13010.           FCBS = 32,32           -  File Control Blocks increased
  13011.           buffers = 20           -  DOS buffers
  13012.           files = 32             -  Number of OPEN files on HOST
  13013.           device = ANSI.sys      -  Extended graphics driver
  13014.     AUTOEXEC.BAT
  13015.           NTNX                   -  NTNX driver
  13016.           fm 3                   -  Level of File protection
  13017.           prompt $p$g            -  customized dos prompt
  13018.           path = ........        -  set path to the NTNX files
  13019.  
  13020.     5. Set up the CONFIG.SYS and AUTOEXEC.BAT files for the Slaves as follows:
  13021.        CONFIG.U0x under DOS 3.3
  13022.           FCBS = 32,32
  13023.           buffers = 10
  13024.           files = 30
  13025.           device = ansi.sys
  13026.           shell = C:\COMMAND.SLV C:\ /P /E:800
  13027.           
  13028.     Of  special  note,  the  SHELL  statement  has  been  used  to  expand  the
  13029.     environment space on  the Slaves.  This corrects a problem seen with random
  13030.     RBBS-PC lockups  or getting  Out of Memory  errors; external  protocols and
  13031.     DOOR programs,  given time,  stop running  due to  memory  problems if  one
  13032.     doesn't use  this  SHELL  statement.    Under DOS  3.1,  set  /E:50  [=  50
  13033.     paragraphs] and under DOS 3.2 or 3.3, set /E:800 [= 800 bytes].
  13034.        AUTOEXEC.U0x
  13035.           fm 3
  13036.           prompt $p$g
  13037.           path = .......Set the path to the NTNX files and to the 'home'
  13038.                      directory for this node on the SHARED drives
  13039.           SET NODE=x    Tell this slave what node to run.
  13040.           cd\RBBS0%NODE%  Change to the RBBS-PC directory for this node
  13041.           RBBS.BAT     Invoke RBBS-PC for this node
  13042.  
  13043.     The statement "SET NODE=x"  allows you to write batch files  that know what
  13044.     node you are dealing  with.  All slaves can access  the same RBBS.BAT file,
  13045.     as long as you invoke RBBS-PC from within that file as:
  13046.      RBBS-PC %NODE% RBBS%NODE%PC.DEF
  13047.     Other node-specific commands should be done this way.
  13048.  
  13049.     6. CONFIG parameters for the slaves, must be the following parameters:
  13050.           Parameter 29 (Type of computer):  Compaq Plus.
  13051.           Parameter 224 (Number of rings to wait before answering):  0.
  13052.           Parameter 162 (Environment):  Orchid PC Net.
  13053.           Parameter 221 (Communications port):  2.
  13054.           Maximum number  of users:  at least as  many slaves as you have, plus
  13055.     one if you plan to run a node on the host.  You can specify more (up to 36)
  13056.     if you want to plan for expansion.
  13057.  
  13058.     7. Set up RBBS-PC as follows:
  13059.           Create subdirectories \RBBS01, \RBBS02, \RBBS0x... on a shared drive.
  13060.  
  13061.     APPENDIX M -- RBBS-PC in an Alloy PC-SLAVE/16 Environment          Page M-5
  13062.  
  13063.           Create other subdirectories according to RBBS-PC documentation.
  13064.  
  13065.           On a  cached drive,  place all  static RBBS-PC  files such as  MENUs,
  13066.     HELPs, PASSWRDS, TRASHCAN,  external file transfer protocols.   RBBS-PC.EXE
  13067.     and CONFIG.EXE go here as well.
  13068.  
  13069.     On  the second  SHARED drive,  make  a subdirectory  \COMMON for  MESSAGES,
  13070.     USERS, CONFENCE, and conference message/user files.
  13071.  
  13072.           If you plan to use DOORS, especially Bob Westcott's DOORWARE,  create
  13073.     a subdirectory called \DOORS on the SHARED drive.  
  13074.  
  13075.           Run CONFIG and create RBBSxPC.DEF files for all your nodes.  Remember
  13076.     that you will run  multi-user under PC Net.   The modem serial port  on the
  13077.     Slaves is COM2 and not COM1.   Double-check file locations! Put your static
  13078.     text files in the same subdir as MESSAGES and USERS and make it the default
  13079.     subdirectory
  13080.  
  13081.           Copy RBBS1PC.DEF to RBBSxPC.DEF for each  node that you hope to  have
  13082.     then re-edit each  .DEF file to customize Node numbers  such as RCTTY1.BAT,
  13083.     etc. 
  13084.  
  13085.     Copy the RBBSxPC.DEF file to the matching subdirectory.  If you  don't wish
  13086.     to edit the .DEF files, place RBBSxPC.DEF on one shared drive and place the
  13087.     dynamic RBBS-PC files on the  other shared drive; be sure that  you have at
  13088.     least  logged  into  that  other  SHARED  drive's subdirectory,  using  the
  13089.     AUTOEXEC.U0x before starting RBBS-PC  or else RBBS-PC  will not find  those
  13090.     files.
  13091.  
  13092.           Temporary files used for transfer or Verbose file listing are created
  13093.     on the  default subdirectory  automatically.  You  must assign  a different
  13094.     CALLERS file for each node located in the default directory.
  13095.  
  13096.           To  use SysOp  Function 7  (Remote  Drop to  DOS), RBBS-PC  must find
  13097.     COMMAND.COM.    PC-Slave/16's,  however,  use  COMMAND.SLV as  the  command
  13098.     processor; copy COMMAND.SLV to COMMAND.COM, place it on a cached drive, and
  13099.     tell CONFIG where  to find it.   Be careful using this SysOp  function with
  13100.     the Slaves as  you will lock up  the Node if you lose  carrier; WATCHDOG is
  13101.     incompatible with the Slaves.
  13102.  
  13103.     Additional tips/hints:
  13104.     1. Avoid  using any  memory resident  utilities.   They may  interfere with
  13105.     Slave operation.
  13106.  
  13107.     2. A program  on the Advanced Utilities disk  called SEE.COM allows callers
  13108.     on any Node to be viewed from the HOST.
  13109.  
  13110.     3. Norton's Editor or WordPerfect Corporation's Programmers Editor from the
  13111.     WordPerfect  Library  is  used  for  editing  operations  on   the  system,
  13112.     especially  for  maintaining   the  fixed-length  directory  of   the  file
  13113.     management system.   Not  many other  editors,  except EDLIN,  can be  used
  13114.     reliably.
  13115.  
  13116.     4. Easy to forget but don't as  it will be a source of frustration  -- plan
  13117.     out your file locations on paper before actually setting up the system.
  13118.  
  13119.     5. Backup your system frequently!
  13120.  
  13121.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page M-6
  13122.  
  13123.     If you have any questions or problems, feel free to leave a  message on Ken
  13124.     Goosens system (703) 978-6360.
  13125.  
  13126.     APPENDIX N -- RBBS-PC and 10 NET Network                           Page N-1
  13127.  
  13128.     APPENDIX N -- RBBS-PC and 10 NET Network  
  13129.     ----------------------------------------
  13130.     Starting  with RBBS-PC 15.1A support for Fox  Research's' 10 Net Network is
  13131.     being provided.
  13132.  
  13133.     Since this is the  first release with this support we have very little that
  13134.     we can offer in tuning support for 10 NET.
  13135.  
  13136.     We selected to use the Semaphore locking mechanism that we have used in the
  13137.     other networks and  therefore you must specify the  following parameters on
  13138.     the Superstation in your 10 NET network.
  13139.  
  13140.     LOGINS=x            1 for every node on the system
  13141.     OPENFILE=xxx        10 for every node running RBBS-PC
  13142.     SHAREFIL=16         (This is the default you can add more if you want)
  13143.     LOCKS=x             3
  13144.     SEMA=xxx            3 for every node running RBBS-PC
  13145.  
  13146.     You will also need to run NETSU and specify option 6 (DOS file sharing).
  13147.  
  13148.     Please note that these  values should be in addition to  any parameters you
  13149.     may have already specified for other  User stations and other uses of  your
  13150.     10 NET network.  And you can always make the values larger in attempting to
  13151.     improve performance.  
  13152.  
  13153.     APPENDIX O -- Running RBBS-PC on a NETBIOS network                 Page O-1
  13154.  
  13155.     APPENDIX O -- Running RBBS-PC on a NETBIOS network
  13156.     --------------------------------------------------
  13157.     CONFIG parameter 162 allows  the SysOp to select an environment for running
  13158.     multiple copies of  RBBS-PC.  One of the environments is "DOS SHARE," which
  13159.     allows a  large  number of  LANs  to support  RBBS-PC.   Any  LAN  that  is
  13160.     "NetBIOS" compatible should allow RBBS-PC to run multiple nodes, since  the
  13161.     DOS  SHARE utility is usually  supported with all  NetBIOS LANS.  Operating
  13162.     RBBS-PC on a network which supports the NETBIOS interface is therefore very
  13163.     simple.  Outlined step-by-step, the procedure is as follows:
  13164.  
  13165.       1) Install and load your network software.
  13166.       2) Configure RBBS-PC for the network environment.
  13167.       3) Prepare files which are to be shared, but not written to.
  13168.  
  13169.     Let's discuss these items in detail.
  13170.  
  13171.     INSTALL AND LOAD YOUR NETWORK SOFTWARE
  13172.  
  13173.          Obviously, for  each different  network, this  procedure will  change.
  13174.          This manual  doesn't attempt to  replace or augment  the documentation
  13175.          which accompanied your network software.  It only covers how to set up
  13176.          RBBS-PC to work with  a NETBIOS LAN.  The assumption  is made that you
  13177.          can, and have, correctly installed your network.
  13178.  
  13179.          However, so that you understand what we mean by "install and load", we
  13180.          will present  a generic description  here.   (It should be  noted that
  13181.          there  are  certain similarities  between  all NETBIOS  LAN products.)
  13182.          First, the "core"  of the network  software must be  loaded after  you
  13183.          boot the  machine (e.g.  the NET START  command).   Next, any  of your
  13184.          computer's resources which others  require access to must  be "shared"
  13185.          (e.g. the NET  SHARE command).  And finally, any  resources which your
  13186.          computer requires access to must be "used" (e.g. the NET USE command).
  13187.  
  13188.          Please note that NET START, NET SHARE, and NET USE are all examples of
  13189.          the  commands used by  the IBM PC  LAN Program.   Your actual commands
  13190.          might be different.
  13191.  
  13192.     CONFIGURE RBBS-PC FOR THE NETWORK ENVIRONMENT
  13193.  
  13194.          Begin by  running the RBBS-PC  CONFIG utility.   Set parameter 162  to
  13195.          "6", which tells it that RBBS-PC is running on a NETBIOS LAN.  (Please
  13196.          check parameter 161 while  you are there, also, and make  sure that it
  13197.          is correct for the number of nodes you intend to run.)
  13198.  
  13199.          You will notice,  when you select parameter 162,  the reference to the
  13200.          DOS utility  SHARE.EXE.  This  utility must be  loaded in order  for a
  13201.          NETBIOS LAN  to  function properly.    The startup  command  for  most
  13202.          networks will  cause SHARE.EXE to be  loaded (i.e. when the  NET START
  13203.          command is issued, the network looks in the current path for SHARE.EXE
  13204.          and loads it).
  13205.  
  13206.          If, for  some odd  reason, your  network does  not automatically  load
  13207.          SHARE.EXE,  you  will need  to  perform  this  task manually  in  your
  13208.          AUTOEXEC.BAT file (DOS 4.x users can opt  for the "INSTALL=" option in
  13209.          their CONFIG.SYS files).
  13210.  
  13211.     PREPARE FILES WHICH ARE TO BE SHARED, BUT NOT WRITTEN TO
  13212.  
  13213.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page O-2
  13214.  
  13215.          Once RBBS-PC  is aware of  the fact that  you're running on  a NETBIOS
  13216.          LAN,  it will open all of  the files it intends  to update in "shared"
  13217.          mode.  However,  when RBBS-PC opens  a file for  READ access only,  it
  13218.          does  NOT  use  DOS  SHARE.   This  will  on  occasion  cause  sharing
  13219.          violations when more than one node tries to read the same file  at the
  13220.          same time.   To compensate for the  problem, you should set  the "read
  13221.          only" attribute  of any  file which  will  NOT be  updated during  the
  13222.          course of the call.  Files such as WELCOME, PRELOG, all HELP, bulletin
  13223.          and news files should be "read only."
  13224.  
  13225.          (You change  a file's read  only status with  the DOS  utility ATTRIB.
  13226.          The syntax is "ATTRIB +R (filename)."  Please note that ATTRIB must be
  13227.          located  in the  current  search  path, and  the  "+R" switch  can  be
  13228.          reversed into "-R", when you want to remove a file's read  only status
  13229.          in order to edit it.)
  13230.  
  13231.          We recommend setting  the read only status  on any file which  you are
  13232.          certain will not be updated (i.e. written back to).
  13233.  
  13234.     SUMMARY
  13235.  
  13236.     The hardest part about setting up  RBBS-PC in a network environment is  the
  13237.     actual setup of  the program for multi-node  operation.  But if  you follow
  13238.     certain guidelines (laid out for you in Appendix G), you should be fine.
  13239.  
  13240.     APPENDIX P -- RBBS-PC and the IBM PCjr                             Page P-1
  13241.  
  13242.     APPENDIX P -- RBBS-PC and the IBM PCjr
  13243.     --------------------------------------
  13244.     RBBS-PC adheres to the Hayes standards for autoanswer applications that are
  13245.     described in Section 9, "Writing Programs  for the Smartmodem 1200," of the
  13246.     SMARTMODEM  1200 HARDWARE  REFERENCE MANUAL.    Under the  section entitled
  13247.     "Additional  Program  Considerations"  Hayes   recommends  that  autoanswer
  13248.     applications (like RBBS-PC) "...  force the modem to answer  the call (ATA)
  13249.     rather than  allowing the  modem to automatically  answer...."    Beginning
  13250.     with 13.1A, RBBS-PC  no longer REQUIRES the Ring Indicator  signal from the
  13251.     modem (pin 22)  in order to  answer the phone  (except if parameter 224  of
  13252.     CONFIG is non-zero).
  13253.  
  13254.     Here are some facts about the PCjr:
  13255.  
  13256.       1) The PCjr's  external modem  interface does not  have a  Ring Indicator
  13257.          signal.
  13258.       2) The PCjr  requires that  an external  modem be  opened as  COM1 if  no
  13259.          internal modem is installed.  However, if no internal modem exists the
  13260.          PCjr requires that the COM2 RS-232  registers be used even though  the
  13261.          port has been opened as COM1.  Technically this is described  as using
  13262.          the external RS-232  asynchronous adapter as  logical channel 1  (i.e.
  13263.          COM1) but  manipulating it as  physical channel 2  (i.e. COM2).   This
  13264.          occurs on a PCjr only  when an internal  modem is NOT  present and the
  13265.          external RS-232 interface is.
  13266.       3) The 128K PCjr  only provides 90K  of usable RAM (the  rest is used  by
  13267.          DOS, the monitor's buffers, etc.).  Fortunately PCjr owners can get up
  13268.          to 512K of RAM with "add-on" equipment  (from IBM and others) in order
  13269.          to have enough RAM for RBBS-PC to run in.
  13270.       4) The standard  PCjr supplied by IBM does not have a DMA and hence can't
  13271.          do communications I/O simultaneously while doing disk I/O.
  13272.  
  13273.     RBBS-PC beginning with  version 13.1A will run  an IBM PCjr providing  that
  13274.     the PCjr
  13275.  
  13276.       1) Has at least 320K of memory.
  13277.       2) Disk I/O  does not occur simultaneously with  communications I/O (i.e.
  13278.          either you have a second disk drive with a DMA or you set BUFFERS=0).
  13279.       3) One of the following three modem configurations are used:
  13280.        - An internal PCjr modem with an external Hayes modem where the external
  13281.          Hayes modem is used for RBBS-PC.
  13282.        - No internal PCjr modem with an external Hayes modem used for RBBS-PC.
  13283.        - Only an internal PCjr modem and it is used for RBBS-PC.
  13284.  
  13285.     The following discusses each of these three  modem configurations supported
  13286.     by RBBS-PC with the PCjr.
  13287.  
  13288.     Internal PCjr Modem With RBBS-PC Using External Hayes Modem
  13289.     -----------------------------------------------------------
  13290.     This configuration means that the PCjr  had both a COM1 (the itnernal  PCjr
  13291.     modem) and a COM2 (the external Hayes modem).   RBBS-PC is set to use COM2.
  13292.     No changes are required to RBBS-PC for this type of configuration.   CONFIG
  13293.     parmameter 224 should be set to 0  to overcome the lack of a ring indicator
  13294.     signal for the external communications port.
  13295.  
  13296.     No Internal PCjr Modem with RBBS-PC Using Hayes External Modem
  13297.     --------------------------------------------------------------
  13298.     This configuration means that the PCjr has only one RS-232 interface -- the
  13299.     external Hayes modem.  This must be opened as COM1 but use COM2's registers
  13300.  
  13301.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page P-2
  13302.  
  13303.     to control the  communications port (believe it  or not that's the  way IBM
  13304.     designed the PCjr).  
  13305.  
  13306.     CONFIG parameter 221 should be used to indicate that COM1 is being used.
  13307.  
  13308.     Unfortunately  the  current BASIC  compilers  (both  IBM's  Version  2  and
  13309.     Microsoft's QuickBASIC) are  incapable of handling a  communication port as
  13310.     logical device 1 (i.e. COM1) but on physical channel 2 (i.e. the interrupts
  13311.     are for COM2).
  13312.  
  13313.     Should this  ever be fixed by either IBM  or Microsoft, CONFIG parameter 29
  13314.     should be used to indicate that no internal  PCjr modem is installed.  This
  13315.     tells CONFIG to  make sure that COM2  registers are used to  manipulate the
  13316.     PCjr's external communications port.
  13317.  
  13318.     Until this is fixed by  the respective vendors, the PCjr user will  have to
  13319.     run a utility  like COMSWAP that  exchanges the pointers  between COM1  and
  13320.     COM2 within DOS.  
  13321.  
  13322.     In  either case, CONFIG parameter 224 should be  set to 0.  This will cause
  13323.     RBBS-PC to set the external Hayes modem into "auto-answer" mode and RBBS-PC
  13324.     will wait for carrier  detect.  This is the way  that RBBS-PC overcomes the
  13325.     PCjr's  lack  of "ring-indicator"  signal  for the  external communications
  13326.     port.   Again no  changes to  RBBS-PC are  required for this  type of  PCjr
  13327.     configuration.
  13328.  
  13329.     Only An Internal PCjr Modem for RBBS-PC and NO External Hayes Modem
  13330.     -------------------------------------------------------------------
  13331.     RBBS 17.4 no longer supports the Novation,  internal PCjr modem.
  13332.  
  13333.     APPENDIX Q -- Using RBBS-PC to access ORACLE or dBASE Remotely     Page Q-1
  13334.  
  13335.     APPENDIX Q -- Using RBBS-PC to access ORACLE or dBASE Remotely
  13336.     --------------------------------------------------------------
  13337.     1.  The Need for Data Base Services
  13338.  
  13339.     A feature  that  has been  long missing  from PC  based host  communication
  13340.     systems is the ability for SysOps to  install customized data bases and let
  13341.     callers  run true interactive data base queries against them.  Because data
  13342.     base management is a major programming task, the most promising way  to add
  13343.     data  base services  is to  use  RBBS-PC's original  and innovative  "DOOR"
  13344.     mechanism to exit RBBS-PC and have  the remote user enter an existing  data
  13345.     base management program.
  13346.  
  13347.     "DOORing" to a data base management program, however, is not as easy as one
  13348.     might  hope.   The  major  problems  stem  from  the fact  that  data  base
  13349.     management programs are  never designed to work in this  environment.  This
  13350.     is because:
  13351.  
  13352.       1) Most programs  write to the  hardware for speed  rather than use  bios
  13353.          calls, causing  the "screen"  output to  appear on  the host  terminal
  13354.          rather than on the caller's terminal.
  13355.  
  13356.       2) Data base programs  do not monitor for carrier.  If carrier drops they
  13357.          simply sit forever waiting for input rather than terminating.
  13358.  
  13359.       3) Most use "full  screen" rather  than "line at  a time", which  usually
  13360.          does not work properly on a remote terminal.
  13361.  
  13362.       4) Security.   Most data base programs  have no way to  limit what a user
  13363.          can do.   For  example, they  do not  have  a read-only  mode, or  the
  13364.          ability to restrict a user to specific  files or fields.  Many let the
  13365.          user issue  dos commands  inside them,  which gives  to call  too much
  13366.          power.
  13367.  
  13368.       5) Difficulty in  learning to use.   A caller  can hardly be  expected to
  13369.          know how to use  a data base.   Hence it must be possible  to simplify
  13370.          and control the user interface inside the data base package.
  13371.  
  13372.     Progress has been made with two of the most popular PC data bases -- ORACLE
  13373.     and dBASE.
  13374.  
  13375.     Using dBASE "DOORS" with RBBS-PC
  13376.     --------------------------------
  13377.     db/LIB is  a relatively new  piece of software  by AJS Publishing  of North
  13378.     Hollywood, CA that makes remote dBASE access possible.  db/LIB is a  set of
  13379.     two  assembled libraries  which can  be  used to  create/modify dBASE  data
  13380.     structures, create/update dBASE indices, and naturally manipulate the dBASE
  13381.     records.     These  libraries  also   have  many  replacements   for  dBASE
  13382.     functions/commands  not  easily  replicated  (i.e.  IIF,  RECNO(),  DATE(),
  13383.     RTRIM(), DELETED(), etc.) outside of the dBASE environment.  db/LIB is also
  13384.     available in a multi-user version.
  13385.  
  13386.     db/LIB  was designed  to work  with  Microsoft Quick  BASIC  4.0 and  BASIC
  13387.     Compiler  6.0 (there  is  a  QB 2/3  version  available  directly from  AJS
  13388.     Publishing after you purchase db/LIB).
  13389.  
  13390.     dBASE Remote Access Advantages/Disadvantages
  13391.  
  13392.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page Q-2
  13393.  
  13394.     Combine db/LIB with any well written  door skeleton (such as the very  fine
  13395.     skeleton)  and you  can have a  true shareable remote  database system. The
  13396.     following section  highlights some  advantages and  addresses the  problems
  13397.     concerning remote dBASE database access.
  13398.  
  13399.     Advantages of using db/LIB and dBASE data bases:
  13400.  
  13401.       1) Purchase of  dBASE is  not required.   db/LIB  can  create modify  and
  13402.          maintain any dBASE structure.  A program with db/LIB and downloaded by
  13403.          a  third party can give these same freedoms  to a third party.  Sample
  13404.          programs with db/LIB demonstrate that most of dBASE's functions can be
  13405.          replicated or substituted using db/LIB.
  13406.  
  13407.       2) If dBASE (or any good clone) is owned,  then the two work very well in
  13408.          tandem.   The programmers at  Ashton-Tate didn't gain their reputation
  13409.          for  writing junkware.   By owning  dBASE, the  user can  download any
  13410.          database structure  and  perform any  data  manipulation easily  in  a
  13411.          familiar environment.
  13412.  
  13413.       3) Full   screen  (ANSI)  writes,  security,  carrier  monitoring,  error
  13414.          trapping, are all handled by the door  skeleton.  Let database modules
  13415.          run the database, and let the door modules run the door.
  13416.  
  13417.     Disadvantages of using db/LIB and dBASE data bases:
  13418.  
  13419.       1) Remote dBASE  database access is not  the same as accessing  dBASE III
  13420.          remotely.  Creation of these DOORS requires knowledge of Quick  BASIC,
  13421.          some knowledge  of data communications,  and some knowledge  of dBASE.
  13422.          All end user  requirements have to be anticipated,  all cases covered,
  13423.          and created in  advance.  Once the  application is created,  then user
  13424.          need no little or nothing about any of the above.
  13425.  
  13426.       2) Not all users  can use ANSI  commands for full  screen editing.   This
  13427.          means that  doors need  to have  a scrolling  (terminal) type  display
  13428.          capability as a substitute for the normal full screen writes.  In some
  13429.          doors  this will  simply  be  impossible,  preventing all  users  from
  13430.          database access.
  13431.  
  13432.     For  those  interested  in  dBASE-based  on-line data  base  searches  with
  13433.     RBBS-PC, you might try  writing Steven Kling at 4009  Utah Ave., Brentwood,
  13434.     MD  20722.   Steven is  the  author of  BBS_BASE,  USER_BASE and  DoorBase.
  13435.     BBS_BASE is  a  non-ANSI dBASE  III  demonstration DOOR  that  maintains  a
  13436.     database of Bulletin Board names, phone numbers, etc.  This database can be
  13437.     queried, added  to, edited, and up to the  minute reports can be generated.
  13438.     The entire database with indices can be downloaded by the user for personal
  13439.     use.  This database is indexed and therefore can  be queried either by name
  13440.     or  phone number.   BBS_BASE was written  only as a  demonstration of using
  13441.     RBBS-PC to access a  data base remotely.  USERBASE is  a dBASE registration
  13442.     door for  RBBS-PC  15.1C and  above. It  comes in  both  ANSI and  non-ANSI
  13443.     versions and  gives an automatic access upgrade  capability to the SysOp at
  13444.     his/her option.
  13445.  
  13446.     Steven Kling  and Michael  Kelly are collaborating  on DoorBase,  which has
  13447.     just been released, and this will give a SysOp the  capability to place any
  13448.     dBASE III database on-line, and  will allow him/her to set up all  the full
  13449.     screen  display  features  to  his/her own  specification.    DoorBase  has
  13450.     multiple   demonstration   databases  available   including   databases  of
  13451.     Congressmen, dBASE vendor support companies, and a national BBS listing.
  13452.  
  13453.     APPENDIX Q -- Using RBBS-PC to access ORACLE or dBASE Remotely     Page Q-3
  13454.  
  13455.     Steven is  also the  SysOp of Technopeasants'  EAST RBBS  at (301)-927-4258
  13456.     Brentwood, MD (PC Pursuitable) 24 Hours/ 2400 baud.
  13457.  
  13458.     Michael  is  the  SysOp  of  Technopeasants'  WEST  RBBS at  (503)-257-7070
  13459.     Portland, OR (PC Pursuitable) 24 Hours/ 2400 Baud.
  13460.  
  13461.     Using ORACLE with RBBS-PC for On-line Data Base Access
  13462.     ------------------------------------------------------
  13463.     Another database package that is able to be used as a "door" is ORACLE from
  13464.     Oracle Corporation  at One  Oracle Parkway  in  Belmont, California  94002.
  13465.     Their  number is (800)  345-DBMS.  ORACLE  is a very  promising solution to
  13466.     providing  remote  data  base  services.   Oracle  addresses  the  problems
  13467.     mentioned earlier as follows.
  13468.  
  13469.       1) Screen writes.   ORACLE can  use ANSI  sequences or bios  calls.   All
  13470.          output appears perfectly  normal on remote terminals  through the CTTY
  13471.          interface in RBBS-PC.
  13472.  
  13473.       2) Monitor for carrier.  Run WATCHDOG,  which will reboot your system  if
  13474.          carrier drops.
  13475.  
  13476.       3) Full screen mode.  ORACLE uses only ANSI commands to control the users
  13477.          screens.  Callers whose remote  communications package implements ANSI
  13478.          support therefore  see full  screen writes exactly  the same  as local
  13479.          users.  FULL SCREEN WORKS!
  13480.  
  13481.       4) Security.  ORACLE has all the security  you could ever want because it
  13482.          was designed for multi-user systems.
  13483.  
  13484.       5) Usability.  ORACLE implements  SQL, which is increasingly  becoming an
  13485.          industry standard that all major data base systems are supporting.
  13486.  
  13487.     Of course, there are some  problems using ORACLE in a  way in which it  was
  13488.     never designed:
  13489.  
  13490.       1) There is  a  problem  getting  the  function  keys  to  work  properly
  13491.          remotely.
  13492.  
  13493.       2) The ability for  a caller  to use  DOS commands needs  to be  disabled
  13494.          within ORACLE.
  13495.  
  13496.       3) Callers who  do not know  SQL need  pre-structured queries and  a menu
  13497.          interface to be  designed for  them.   ORACLE supports  a full  screen
  13498.          interface  but the user interface in  ORACLE is not as programmable as
  13499.          one would like.
  13500.  
  13501.     For  those  interested in  ORACLE-based  on-line  data base  searches  with
  13502.     RBBS-PC,  you might  try  writing John  Prior at  P.O.  Box 56589,  Harwood
  13503.     Heights, IL 60656-0589.  John is the SysOp of
  13504.  
  13505.            SQLBBS at (312)-589-0508
  13506.            Chicago, IL.  (PC Pursuitable)
  13507.            24 Hours/ 9600 baud Microcom MNP Level 6
  13508.  
  13509.     The SQLBBS is a bulletin board system specializing in supporting relational
  13510.     data base  managers  and making  the  power of  SQL  available to  callers.
  13511.     SQLBBS uses an RBBS-PC door to get into ORACLE.  The SQLBBS has implemented
  13512.     ORACLE to  help manage  the data  processing for  the National Council  for
  13513.  
  13514.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page Q-4
  13515.  
  13516.     Children's  Rights (NCCR),  and has  several  major data  bases on-line  of
  13517.     general interest.   People  can contact  John Prior, the  SQLBBS SysOp,  on
  13518.     Compuserve, by mail, or by calling SQLBBS if they wish to see how ORACLE is
  13519.     implemented,  get  the   latest  progress  report,  or   share  experiences
  13520.     implementing relational systems.  Here are details on the SQLBBS system and
  13521.     how to reach it:
  13522.  
  13523.         Modem:              9600 Baud Microcom MNP Level 6
  13524.         BBS Number:         312/589-0508
  13525.         Hours:              24 hrs/day
  13526.         Address:            Prior Computer Service Inc.
  13527.                             POB 56589
  13528.                             Chicago IL 60656-0589
  13529.         Compuserve ID:      76266,1072
  13530.         SysOps:             John F. Prior
  13531.                             Bernadette Foley
  13532.  
  13533.         SQL Tables          Roster of the House of Representatives
  13534.         Available           Roster of the Senate [both with addresses etc.]
  13535.         Now                 The States [2 char abbreviation and full name]
  13536.                             All the 5 digit zip codes in the US
  13537.  
  13538.     Call SQLBBS  as you would any other  RBBS-PC system.  Go  through the Door.
  13539.     SQLBBS executes a  "SELECT * FROM  TAB;" for  you which shows  you the  50+
  13540.     tables you can access.   At the SQL> prompt execute any  SELECT command you
  13541.     want against any one of the tables.
  13542.  
  13543.     "SELECT * FROM STATES;"                      returns    all  rows [records]
  13544.                                                  of the STATES table.
  13545.  
  13546.     "SELECT  * FROM STATES WHERE ST = 'MA';"     returns  all  rows   about the
  13547.                                                  state  whose     two-character
  13548.                                                  code is "MA".
  13549.  
  13550.     "SELECT COUNT(*) FROM STATES;"               gives  you a count of the rows
  13551.                                                  in the STATES table.
  13552.  
  13553.     If you  substitute another table or view instead  of STATES such as SENATE,
  13554.     you can access other tables/views.
  13555.  
  13556.     "DESC HOUSE"                  would  return the column   names of the HOUSE
  13557.                                   table.
  13558.  
  13559.     "HELP"                             gets you help.
  13560.  
  13561.     "HELP SELECT"                      gets  you  help on  the SELECT command.
  13562.  
  13563.     "HELP SET"                         gets   you  help   on the   SET  command
  13564.                                        which  can  control   many  options  for
  13565.                                        display
  13566.  
  13567.     "SHOW ALL"                         shows  you everything  you  can SET.
  13568.  
  13569.     "EXIT"                             terminates  UFI  and  returns    you  to
  13570.                                        RBBS-PC.
  13571.  
  13572.     APPENDIX R -- Using RBBS-PC with SEAdog to Access FIDO-NET         Page R-1
  13573.  
  13574.     APPENDIX R -- Using RBBS-PC with SEAdog to Access FIDO-NET
  13575.     ----------------------------------------------------------
  13576.     SEAdog is  a full-featured  electronic mail  system based  on the  personal
  13577.     computer and using standard telephone lines.   It is a sophisticated store-
  13578.     and-forward mail system which  can be configured  in a virtually  unlimited
  13579.     number of network  topologies (more on  this later).   Unlike some  network
  13580.     systems, the end user need never concern himself with network routing -- it
  13581.     all happens automatically.   The user just submits  and retrieves messages,
  13582.     the system takes care  of the details.  The hardware  needed to run RBBS-PC
  13583.     is sufficient to run SEADOG.
  13584.  
  13585.     SEAdog  uses  the FidoNet  Electronic  Mail  Protocol,  as defined  in  the
  13586.     document,   A   Basic  FidoNet   Technical   Standard,  published   by  the
  13587.     International FidoNet Association (IFNA).  The FidoNet Protocol is a public
  13588.     domain electronic mail  standard originally developed  by Tom Jennings  for
  13589.     the Fido  bulletin board  system. For  more information  about the  FidoNet
  13590.     Protocol, please write to:
  13591.  
  13592.         The International FidoNet Association
  13593.         P.O. Box 41143
  13594.         St. Louis, Missouri  63141
  13595.         United States of America
  13596.  
  13597.     There are several advantages to  using the FidoNet Protocol, not  the least
  13598.     of which  is that a  great many utilities  and programs are  available from
  13599.     many different  vendors  for doing  various  things with  electronic  mail.
  13600.     Please contact IFNA at the above address for more information.
  13601.  
  13602.     The heart  of SEAdog is the  network mail server, MAILER.EXE.   This is the
  13603.     program that places and receives phone calls, handles message routing,  and
  13604.     so  forth.  It  is left running  when you would  normally turn your machine
  13605.     off.
  13606.  
  13607.     You  can set  RBBS-PC to drop  to DOS  at a  time when telephone  costs are
  13608.     cheapest (normally  4 a.m. Eastern Standard  time and 1  a.m. Pacific time)
  13609.     and invoke the mailer so that it begins placing phone calls to other SEAdog
  13610.     systems to pass them your outgoing mail and receive your incoming mail.  
  13611.  
  13612.     SEAdog costs $100.00  and can be ordered  from the address or  phone number
  13613.     below.
  13614.  
  13615.             Thom Henderson
  13616.     SYSTEM ENCHANCEMENT ASSOCIATES
  13617.            21 Wayne Street
  13618.        Wayne, New Jersey 07470
  13619.            V:201-473-5153
  13620.  
  13621.     This doc file  is not  intended to  replace the SEAdog  manual, but  rather
  13622.     provide   information  that  an  RBBS-PC  SysOp   would  find  useful  when
  13623.     configuring RBBS-PC to run with SEAdog.
  13624.  
  13625.     The current status of the RBBS-PC - SEAdog project is at the level in which
  13626.     RBBS-PC has the  ability to be front-ended  by SEAdog in where  SEAdog will
  13627.     turn over  to it a  live, active modem  with a caller waiting.  RBBS-PC has
  13628.     been modified to accept  two additional command  line parameters which  can
  13629.     alter the defaults  in RBBS-PC.DEF. Currently, that is  the extent to which
  13630.     RBBS-PC and SEAdog  can be used together.  The Fido message base  format is
  13631.     not yet compatible with RBBS-PC.
  13632.  
  13633.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page R-2
  13634.  
  13635.     It is  assumed that you are reading this  because you are familiar with the
  13636.     RBBS-PC  and have at  least a minimum  knowledge of FidoNet  and FidoMail. 
  13637.     Another assumption  is  that  you  have  RBBS-PC up  and  running  on  your
  13638.     computer.   The easiest way to get all two  programs working together is to
  13639.     have each running  from it's own subdirectory  on your hard disk.   That'll
  13640.     make maintenance of  RBBS-PC and SEAdog specific files  much easier. Follow
  13641.     the instructions in  the SEAdog manual to  install it, if that  hasn't been
  13642.     done yet. Once installed all SEAdog files will be in a  subdirectory called
  13643.     \MAIL.  Make any required modifications  to your CONFIG.SYS as suggested in
  13644.     the SEAdog manual.
  13645.  
  13646.     If your using  DOS 3.xx, and  don't use the DOS  SUBST command, you  should
  13647.     consider doing so.   SUBST  is a DOS  external command  that allows you  to
  13648.     SUBSTitute a  drive letter  for a  complete subdirectory  name. Using  this
  13649.     command will make reprogramming RBBS-PC's configuration file easier.
  13650.  
  13651.     This appendix  assumes that  all  the SEAdog  Files are  in a  subdirectory
  13652.     called  C:\MAIL  and those for RBBS-PC are in  a directory called  C:\RBBS.
  13653.     A  further assumption  that is  made is  that  a new  drive   "H:" will  be
  13654.     SUBSTitued for the  C:\RBBS subdirectory.
  13655.  
  13656.     Since SEAdog  will be in  controls most of  the time, the  entire operation
  13657.     should use SEAdog's  C:\MAIL  directory as the default.
  13658.  
  13659.     Now load  and run  CONFIG.EXE and reprogram  it's configuration  to reflect
  13660.     that all RBBS's help, menu and system files are located on the "H:"  drive.
  13661.     Remember the SUBSTitute  command?   You  can use it  to replace those  long
  13662.     subdirectory names for  download and upload files.   SPECIAL ATTENTION must
  13663.     be paid to CONFIG.EXE's parameter 163. This parameter MUST be set to SYSTEM
  13664.     recycle. Not doing  so will cause RBBS-PC  to reload itself after  a caller
  13665.     has hung up or dropped carrier and not pass control back to SEAdog.
  13666.  
  13667.     The SEAdog  manual explains various  commands that must  be placed  in it's
  13668.     configuration file called   CONFIG.DOG.  Among those  that are considered a
  13669.     minimum, you should include at least the following....   
  13670.  
  13671.     banner   Please stby,  15 secs to load  RBBS-PC
  13672.     bbs      H:RBBS    *T *B
  13673.     event    B  all   4:30  5:00                    ;Local collections
  13674.     event    A  all   5:00  6:00                    ;National FidoMail Window
  13675.     event    C  all   6:00  7:00                    ;Local distributions
  13676.     event    S  all   7:00  4:00 Crash Dynamic BBS  ;CRASH mail if not in RBBS
  13677.     event   X10 all   7:00  7:05                    ;Reboot Computer
  13678.  
  13679.     The  banner  statement should be  used so that human callers know why there
  13680.     is  a delay from  the time  they connect  until the  time they  see RBBS-PC
  13681.     display  it's welcome message.   The   bbs command tells  SEAdog what batch
  13682.     file to run when passing  control to RBBS.  *T and *B must  be in the order
  13683.     presented above in  for RBBS-PC to pickup and use them correctly. They pass
  13684.     the time remaining to the next scheduled SEAdog event and the baud rate the
  13685.     caller came on  with.  Event  statements tell SEAdog  how to schedule  it's
  13686.     time during  the day.  The above example  conforms to the  FidoNet national
  13687.     mails hours as of 26 July 1987  and allows crash mail and bbs operation  at
  13688.     all others.
  13689.      
  13690.     Since the SEAdog  *P   parameter in the  bbs  command  isn't used, you must
  13691.     insure that the comm ports used for RBBS-PC and SEAdog are the same.
  13692.  
  13693.     APPENDIX R -- Using RBBS-PC with SEAdog to Access FIDO-NET         Page R-3
  13694.  
  13695.     One  of  the  more confusing  decisions  will  be how  to  setup  the modem
  13696.     switches.   Without going into it too deeply, keep in mind that SEAdog will
  13697.     be controlling the modem and passing an active modem on to RBBS-PC.
  13698.  
  13699.     Additionally, you could have your SEAdog upload and download areas  overlap
  13700.     those of RBBS-PC.
  13701.  
  13702.     When SEAdog determines that a non SEAdog or Fido system has called, it runs
  13703.     a second copy  of DOS, then  optionally loads and  runs RBBS-PC via  direct
  13704.     command  or from  a batch file,  passing the  speed that the  comm port was
  13705.     opened at, and the time remaining to the next scheduled SEAdog mailer event
  13706.     as in the following example:
  13707.  
  13708.     SEAdog calls RBBS-PC via a batch file called RBBS.BAT
  13709.  
  13710.        C>RBBS-PC 1 H:RBBS-PC.DEF /%1 /%2
  13711.          |       | |              |   |> Baud Rate
  13712.          |       | |              |
  13713.          |       | |              |
  13714.          |       | |              |> Limits the amount of time the user has
  13715.          |       | | this session if and only if the time is
  13716.          |       | |less then the time per session specified |||in CONFIG.EXE.
  13717.          |       | |> RBBS-PC default file filespec  (Optional)
  13718.          |       |> Node number that the specified .DEF file applies to.       
  13719.          |       |(Optional)
  13720.          |> The name of the RBBS-PC program.
  13721.  
  13722.     With  a properly  configured RBBS.BAT batch  file, you  can retain  all the
  13723.     functions of  RBBS-PC  to  include DOORS  and  dropping to  DOS  via  SysOp
  13724.     function #7. See the sample batch files at the end of this file.
  13725.  
  13726.     Experience has shown that the best way to run RBBS-PC  and SEAdog is with a
  13727.     batch file,  where SEAdog having  determined that  a non  mailer system  is
  13728.     waiting  to use the bbs will load and  run a batch file that controls RBBS-
  13729.     PC's operation  as opposed to SEAdog  calling RBBS-PC directly.   Two batch
  13730.     files are used, one to control SEAdog and one to control RBBS.
  13731.  
  13732.     A minimum batch file is suggested in the SEAdog manual. In addition to what
  13733.     ever you place in it, add the following statements to it.
  13734.  
  13735.       If Exist H:RCTTY.BAT Del H:RCTTY.BAT
  13736.  
  13737.     This line should be the first.   This statement simply helps ensure  proper
  13738.     operation of RBBS-PC if you use SysOp function #7  or DOORS.
  13739.      If Errorlevel 10 Goto REBOOT:
  13740.  
  13741.     This line goes after the line that contains the call to the MAILER program.
  13742.  
  13743.     REBOOT:
  13744.      IPL
  13745.  
  13746.     This line  reboots the  computer every  morning according  to event  listed
  13747.     above. Due do  unexplained loss of memory when running  SEAdog and RBBS-PC,
  13748.     is safe to program in a scheduled  rebooting of the computer to regain  any
  13749.     loss of memory. This line should be near the last and programmed around for
  13750.     normal operations
  13751.  
  13752.     **  Ex RBBS batch file  **
  13753.  
  13754.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page R-4
  13755.  
  13756.       Echo Off
  13757.     :LOOP
  13758.       C:
  13759.       Cd \MAIL
  13760.       If Not Exist H:RCTTY.BAT Goto LOCAL
  13761.       H:WATCHDG1 OFF
  13762.       Del H:RCTTY.BAT
  13763.       H:TESTRBBS 1 H:RBBS-PC.DEF
  13764.       Goto REMOTE
  13765.  
  13766.     :LOCAL
  13767.       H:TESTRBBS 1 H:RBBS-PC.DEF /%1 /%2
  13768.  
  13769.     :REMOTE
  13770.       If Not Exist H:RCTTY.BAT GOTO EXIT
  13771.       H:WATCHDG1 ON
  13772.       H:RCTTY.BAT
  13773.  
  13774.     :EXIT
  13775.  
  13776.     As mentioned above,  this doc file  isn't intended  to make you  completely
  13777.     knowledgeable on how to interface RBBS-PC and SEAdog, only get you started.
  13778.     How you  set up your RBBS-PC and SEAdog batch files is limited only by your
  13779.     ability and imagination.   After gaining more experience,  you'll find that
  13780.     you can automate a lot of the  RBBS-PC and SEAdog maintenance.
  13781.  
  13782.     The above reflects the creative things that Kim Wells accomplished.
  13783.  
  13784.     APPENDIX S -- DOS Limitation on Running Programs Remotely          Page S-1
  13785.  
  13786.     APPENDIX S -- DOS Limitation on Running Programs Remotely
  13787.     ---------------------------------------------------------
  13788.     When accessing your PC via a communications port, the carrier detect signal
  13789.     tells the PC that you are on-line.  DOS's major limitation is that there is
  13790.     no  way to  tell DOS  to  monitor carrier  detect automatically    when the
  13791.     standard input and output is transferred to a communication port  (i.e. via
  13792.     the  CTTY command).    RBBS-PC makes  sure that the carrier  is not dropped
  13793.     when a user exits to DOS either via the "DOORS" option or  using the remote
  13794.     SysOp function 7.   However, it is the  SysOp's  responsibility  to  insure
  13795.     that   whatever programs are  invoked after leaving  RBBS-PC  perform   all
  13796.     the  necessary  functions  to maintain the communications session and, when
  13797.     exiting to return to RBBS-PC, that the carrier  is  "NOT"  dropped.
  13798.  
  13799.     Most application  programs (i.e.  databases, etc.) are  not designed  to be
  13800.     controlled by  users  accessing them  from  a communications  port.    This
  13801.     problem is solved when a function is invoked that:
  13802.  
  13803.     1. Checks   to  see if  the standard input and  output console  have   been
  13804.     assigned to an auxiliary console such as a communication port.
  13805.     2. If condition 1  is true, checks to see  if the carrier detect signal  is
  13806.     lost  by  intercepting  each  interrupt from  the  communication  port  the
  13807.     auxiliary console has been assigned to.
  13808.     3. If  BOTH conditions 1 and 2  are true, this function would  cause DOS to
  13809.     return to  the standard screen and keyboard for its operations AND continue
  13810.     processing  whatever batch file that had been executing.
  13811.  
  13812.     Such a function (or device driver) would provide a "fail safe" feature that
  13813.     would allow users to exit   RBBS-PC  to  use  whatever   other software the
  13814.     SysOp  chose to make   available   (i.e.  relational  databases for complex
  13815.     inquiries  --  bibliographic,     sports,    games,    etc.).    For  those
  13816.     anticipating  using RBBS-PC's  "doors" or  exiting to  DOS when  you are  a
  13817.     remote SysOp, you are strongly encouraged to consider using the  "watchdog"
  13818.     utility program available on  many bulletin board  systems under such  file
  13819.     names  as  WATCHDOG.COM,  WATCHDOG.ASM,  WATCHDOG.DOC,  WATCHDOG.EXE   that
  13820.     monitors the  communication port for you and reboots your system if carrier
  13821.     drops.   If you don't use a program  like WATCHDOG and accidentally hang up
  13822.     while in  a "door" or in DOS,  you system will remain "hung"  until you can
  13823.     manually reboot it.
  13824.  
  13825.     Programs that utilize the PC's built in video memory (such as the IBM BASIC
  13826.     interpreter or WordStar when it writes to the 25th line)  need to have such
  13827.     I/O redirected in a special way to  a remote users terminal.  Additionally,
  13828.     if the I/O  is redirected to the  communications port, the terminal  on the
  13829.     other  end must have  a "cursor" that  can be sent  the appropriate command
  13830.     sequence  to move  it around  on  the remote  users terminal  as necessary.
  13831.     Without this capability, programs  made  available  through "doors" must be
  13832.     line-at-a-time  programs.   This  of  course  excludes   programs  such  as
  13833.     WordStar, Lotus/123 etc.
  13834.  
  13835.     If you  aren't technically  inclined and want  to use  RBBS-PC "doors",   I
  13836.     suggest you consider only using programs that have been explicitly  written
  13837.     to overcome the above two DOS  limitations.  Applications that don't  write
  13838.     directly to the  video memory of the PC  can be used safely as  a "door" as
  13839.     long as a "watchdog" type program is also used.
  13840.  
  13841.     APPENDIX T -- Recompiling RBBS-PC to Reduce Memory Required        Page T-1
  13842.  
  13843.     APPENDIX T -- Recompiling RBBS-PC to Reduce Memory Required
  13844.     -----------------------------------------------------------
  13845.     RBBS-PC is continually being  enhanced with new features.  As new functions
  13846.     and   capabilities   are   added,   RBBS-PC's   memory   requirements  grow
  13847.     correspondingly.  In order to continue RBBS-PC's growth  and still meet the
  13848.     memory constraints imposed on  SysOps with only 640K of memory  who wish to
  13849.     run two  copies of RBBS-PC,   RBBS-PC source  code can be  "mite-sized" and
  13850.     recompiled to  fit within  whatever memory  constraints a  SysOp must  deal
  13851.     with.
  13852.  
  13853.     SysOps can apply .MRG files against the unmodified RBBS-PC  source code and
  13854.     elect to eliminate RBBS-PC features not being used and eliminate  redundant
  13855.     code (typically  the BASIC source  code that  replicates assembly  language
  13856.     routines). RBBS-PC has a  companion "mite-size" set  of files contained  in
  13857.     the file RBBS-LIT.ZIP.
  13858.  
  13859.     In order to recompile and "mite-size" RBBS-PC, within the same  environment
  13860.     in which the SysOp has successfully recompiled the current release of RBBS-
  13861.     PC, the SysOp must also have the following files:
  13862.  
  13863.     BLED.EXE    --      The Batch Line  EDitor by Ken  Goosens (version 2.2  or
  13864.                         greater).
  13865.  
  13866.     MAKELIT.BAT  --     The BATch file  that invokes  BLED.EXE and applies  the
  13867.                         necessary  files to  the  unmodified source  code. This
  13868.                         file should be  modified by  putting in the  drive/path
  13869.                         for the original code  (the first parm  to BLED).   The
  13870.                         lines to be modified all begin with "*$", which is  the
  13871.                         default for a  BLED metacommand.    The lines beginning
  13872.                         with "*  " are  BLED comments, which  are ignored  in a
  13873.                         merge.
  13874.  
  13875.     SETLIT.INC   --     The file through  which the  SysOp selects the  RBBS-PC
  13876.                         features that are not needed.  The directions for doing
  13877.                         this  are  contained  within this  file.  A  feature is
  13878.                         typically  removed  by   setting  a  BLED   metacommand
  13879.                         variable to  "OFF",  e.g. to  exclude  RBBS-PC  LIBRARY
  13880.                         subsystem set LIBRARY to "OFF". 
  13881.  
  13882.     RBBSLIT.MRG  --     The fundamental BLED merge for RBBS-PC.BAS
  13883.     SUBxLIT.MRG  --     The fundamental BLED merge for various RBBSSUB's.  Each
  13884.                         reads  in  (includes) the  file  SETLIT.INC to  set the
  13885.                         metavariables used by BLED.   BLED then uses the values
  13886.                         to determines what merges to process.
  13887.  
  13888.     *.LIT        --     .MRG files that eliminate RBBS-PC features.
  13889.  
  13890.     The procedure for "mite-size"ing RBBS-PC is as follows:
  13891.  
  13892.     1.  Select  the RBBS-PC features not required for your needs and modify the
  13893.     file SETLIT.INC.
  13894.  
  13895.     2.  Change MAKELIT.BAT to reflect your PC's subdirectories.
  13896.  
  13897.     3.  Make sure RBBSSUB1.BAS is in the subdirectory you will run in.
  13898.  
  13899.     4.  Execute the MAKELIT.BAT file.  Do not continue if errors are found.
  13900.  
  13901.     RBBS-PC 17.4          TECHNICAL REFERENCE MANUAL                   Page T-2
  13902.  
  13903.     5.  Recompile the "mite-sized" RBBS-PC source code.  Remember, this  "mite-
  13904.     sized" source code and the RBBS-PC.EXE file created from it my only be used
  13905.     by you and not distributed to others. 
  13906.  
  13907.          Some comments on the various Microsoft QuickBASIC compilers:
  13908.               QuickBASIC Version 1.02 produces the smallest code.
  13909.               QuickBASIC Version 2.01 produces the next smallest code.
  13910.               QuickBASIC Version 3.00 produces the largest code.
  13911.               QuickBASIC Version 4.5 produces code smaller than
  13912.                     3.00) but is not as reliable
  13913.  
  13914.          Never LINK with the /E option.
  13915.  
  13916.     6.  Re-run CONFIG and disable the RBBS-PC features that were deleted in the
  13917.     "mite-sized" version that was  created in steps 1 through 5  (i.e. take out
  13918.     the "A" command if questionnaires were disabled). 
  13919.  
  13920.     Please realize  that there is  no way that  the "mite-sized" variations  of
  13921.     RBBS-PC can be  supported.  The many  different PC configurations  plus the
  13922.     multitude  of  combinations   of  RBBS-PC  features  are   what  make  this
  13923.     impossible.  However, we will do our best.  
  13924.  
  13925.     Please report any problems with BLED or the *.LIT merges to Ken Goosens via
  13926.     his RBBS-PC data number -- (703) 978-6360.
  13927.  
  13928.                                        INDEX.MRG  1-4
  13929.     99.DIR  6-5
  13930.     ANSI  7-25
  13931.     ANSI commands  7-21
  13932.     ARCWORK?.DEF  6-4
  13933.     ASCII upload  10-26
  13934.     AUTOEXEC.BAT  13-1
  13935.     AUTOPAGE.DEF  6-6, 7-26, 10-3
  13936.     BLED  1-4
  13937.     BULLET file  6-6
  13938.     Bulletins
  13939.          BULLET.FCK  6-4
  13940.     CALLERS file  6-4, 10-11
  13941.     Colorization  7-24
  13942.     COMMENTS file  6-4, 10-11
  13943.     CONFENCE file  6-6, 10-9
  13944.     CONFMAIL.DEF  6-7, 10-12
  13945.     CPCUG  1-1
  13946.     DIR.CAT  10-22, 12-6
  13947.     DIR.CDR  6-7
  13948.     DIR.DIR  6-7
  13949.     DK*.ARC  6-5
  13950.     DOORS.DEF  6-5, 10-13, 14-4
  13951.     DORINFO?.DEF  6-5
  13952.     DOUT?.DEF  6-5
  13953.     DRST?.DEF  6-5
  13954.     DTR  10-24
  13955.     EPILOG.DEF  6-7, 7-29, 10-11
  13956.     FFS  10-26
  13957.     File Locking  6-1
  13958.     FILESEC file  6-7, 10-15
  13959.     Flow control
  13960.          CTS  10-25
  13961.          RTS  10-25
  13962.          XON/XOFF  10-25
  13963.     FMS  10-21
  13964.          use of color in  7-25
  13965.     Graphics  6-6
  13966.     HELP files  6-7
  13967.          FILE.HLP  6-8
  13968.          HELP03  6-7
  13969.          HELP04  6-7
  13970.          HELP09  6-7
  13971.          LIBR.HLP  6-8
  13972.          MAIN.HLP  6-8
  13973.          RGXPIRD.HLP  6-8, 9-1, 10-6
  13974.          RGXPIRE.HLP  6-8, 9-1, 10-6
  13975.          SECVIO.HLP  6-8
  13976.          SMARTTXT.HLP  6-8
  13977.          UPCAT.HLP  6-8, 10-9
  13978.          UTIL.HLP  6-8
  13979.     LG*.DEF  6-8
  13980.     Library Sub-System  6-7
  13981.     MAIN.PUI  6-9, 10-9
  13982.     MAINM.DEF  6-3
  13983.     MAINU.DEF  6-4
  13984.     MENU files  6-9, 7-1, 10-9
  13985.     MESSAGES file  6-3, 10-11, 10-18
  13986.     NETBIOS  P-1
  13987.     NEWUSER file  6-9, 10-9
  13988.  
  13989.                                        INDEXNODE?WRK  6-5
  13990.     NODE?WRK file  7-27
  13991.     PASSWRDS file  6-9, 9-2, 10-16
  13992.     PRELOG file  6-9, 10-11
  13993.     PRIV.DEF  6-9, 10-15
  13994.     PROTO.DEF  6-3, 10-24, 20-1
  13995.     PUI  7-4
  13996.          use of color in  7-24
  13997.     QMXFER.ERR  6-5
  13998.     Questionnaires  6-2, 10-9, 19-1
  13999.     RBBS.BAT  10-12, 13-1
  14000.     RBBS?F1.DEF  6-5
  14001.     RBBS?PC.DEF  6-5
  14002.     RBBS-CDR.DEF  6-9
  14003.     RBBS-Net  4-1
  14004.     RBBS-PC in a Box  4-1
  14005.     RBBS-REG.DEF  6-9, 10-11
  14006.     RECONFIG.EXE  2-4
  14007.     RelayNet  4-1
  14008.     Ring-Back  10-23, E-1
  14009.     SECVIO.HLP  10-17
  14010.     SHARE.EXE  P-1
  14011.     SIGOp  10-17
  14012.     SmartText  7-21
  14013.     Subscriptions  9-1, 10-6
  14014.     SysOp  1-1
  14015.     TDD  10-23, 10-26, E-1
  14016.     templates  20-4
  14017.          in DOORs  14-4
  14018.     TRASHCAN file  6-9, 10-10
  14019.     USERS file  6-4, 10-11, 10-18
  14020.     Userware  1-1
  14021.     Version numbers  1-4
  14022.     WELCOME file  6-9, 10-9
  14023.     ZIPTV  7-28
  14024.  
  14025.     ================= END OF RBBS-PC 17.4 DOCUMENTATION ==================
  14026.  
  14027.                                        INDEX
  14028.     Editor's notes:
  14029.  
  14030.     Formatting this document was a chore.  Word Perfect is  good, but there are
  14031.     a lot of features either missing or not working in WP 5.1.  I have reported
  14032.     all my findings to WPC, so we can only hope their next release will help us
  14033.     out.   Until then, this document is "fragile"   Take a good look at some of
  14034.     the format codes before you start modifying.  These notes should help you.
  14035.  
  14036.     The Table  of Contents  is automatic.   The  chapter numbers  all use  WP's
  14037.     "paragraph numbering" system.  Top level chapters (section 1, INTRODUCTION,
  14038.     for example) are level  1 paragraphs, and so on.  So, to  create a Table of
  14039.     contents entry, I  put the Paragraph number  INSIDE the TOC block  for each
  14040.     entry.
  14041.  
  14042.     Headers are not so automatic.  Since we want the chapter number on the page
  14043.     headers, and headers aren't smart enough to do this, the  headers had to be
  14044.     done by hand.  In general, header A  is just the title of the document, and
  14045.     it is printed on even pages.  Header B contains the current section, and it
  14046.     is  on odd pages.   If you move a  chapter, you must  remember to re-do the
  14047.     header for that chapter.
  14048.  
  14049.     Page numbers cannot appear in headers.  That's because WP doesn't honor the
  14050.     page numbering  style in headers  (bug!).  I just  let WP number  the pages
  14051.     outside the  header, all we  have to do  is keep the  header off the  right
  14052.     margin.
  14053.  
  14054.     Page numbering is also not automatic.  It would have been great if I  could
  14055.     tell  WP to use the  current Paragraph major number  in the page number (so
  14056.     the first page of chapter 1 would be  1-1), but WP can't do that.  Instead,
  14057.     I  manually inserted  page  number style  codes  at the  beginning  of each
  14058.     chapter.   This  is one  more  thing you  have  to remember  when moving  a
  14059.     chapter.
  14060.  
  14061.     If you study the codes at the start of each chapter, you'll see what has to
  14062.     be done.  Nothing too tricky, but use care.
  14063.  
  14064.     The INDEX is another story - everything  is automatic, and works just fine.
  14065.     OK, so I did make  a double column index by hand, but I'm  sure WP could do
  14066.     that if I tried.   I do NOT want to have an index wordlist  - I know WP can
  14067.     do that automatically,  but I want all index entries to  be MEANINGFUL!  If
  14068.     anyone wants to mark additional index entries, I'd love it - just make sure
  14069.     that  if you  mark  something, it's  because the  term  is used  in  a VERY
  14070.     MEANINGFUL way on that page.   Also remember to look up any  previous index
  14071.     entry - you may  find that you will want to put your  entry in a subheading
  14072.     to match what was done before.
  14073.  
  14074.     I  have tried to  use WP's  XREF capability  to the  fullest.   One feature
  14075.     missing from WP is the ability to LIST the references already defined.  So,
  14076.     before it gets out of hand, here is a current list:
  14077.  
  14078.     XREF TAG                      Page      Section
  14079.                                                     
  14080.     AUTOPAGE                      7-26      7.11
  14081.     BAT                           13-1      13
  14082.     BULLET                        7-28      7.13
  14083.     CD ROM                        12-7      12.6
  14084.     COLORIZING                    7-24      7.10
  14085.     COMMANDS AVAILABLE            7-1       7.3
  14086.     CONFERERNCE FILES             17-4      17.4
  14087.  
  14088.                                        INDEXCONFERENCE SETUP17-417.3
  14089.     CONFERENCES                   17-1      17
  14090.     CONFIG                        10-1      10
  14091.     CONFMAIL                      18-1      18
  14092.     CONTRIBUTIONS                 1-1       1.3
  14093.     DATA BASE MACROS              7-19      7.8.4
  14094.     DIR.CAT                       12-6      12.5
  14095.     DIR.DIR                       12-1      12.1
  14096.     DIRECTORY STRUCTURE           6-2       6.1
  14097.     DOOR SETUP                    14-1      14.1
  14098.     DOORS                         14-1      14
  14099.     DOORS.DEF                     14-4      14.3
  14100.     DORINFO                       14-3      14.2.2
  14101.     FFS                           12-15     12.9
  14102.     FILESEC                       15-5      15.4
  14103.     FMS                           12-1      12
  14104.     FMS ADVANTAGES                12-3      12.3
  14105.     GRAPHICS                      6-6       6.3
  14106.     HISTORY                       26-1      26
  14107.     IMPLEMENT PUI                 7-5       7.6.2
  14108.     INDIVIDUATION                 8-1       8
  14109.     MACROS                        7-10      7.8
  14110.     MERGES                        1-4       1.4
  14111.     MODEM                         11-1      11
  14112.     PASSWRDS                      15-3      15.3
  14113.     PERSONAL DOWNLOADS            12-10     12.7
  14114.     PHILOSOPHY                    1-1       1.1
  14115.     PROTO.DEF                     20-1      20.1
  14116.     PROTOCOL DRIVERS              20-1      20
  14117.     PUI                           7-4       7.6
  14118.     QUESTIONNAIRE                 19-1      19
  14119.     SECURITY EXAMPLE              15-2      15.2
  14120.     SINGLE COMMAND LINE           7-2       7.5
  14121.     SMART TEXT                    7-21      7.9
  14122.     SUB MENUS                     7-8       7.7
  14123.     SUBSCRIPTIONS                 9-1       9
  14124.     SYSOP FUNCTIONS               16-1      16
  14125.     SYSTEM FILES                  6-3       6.2
  14126.     TEMPLATES                     20-4      20.2
  14127.     TEXT FILES                    6-6       6.4
  14128.     USER SUPPORT                  4-1       4.1
  14129.  
  14130.     The Appendix is also cross-referenced, as follows:
  14131.  
  14132.     XREF TAG                      PAGE      APPENDIX
  14133.     APPENDIX 10NET                O-1       O
  14134.     APPENDIX 9PIN                 F-1       F
  14135.     APPENDIX ALLOY                N-1       N
  14136.     APPENDIX CORVUS               L-1       L
  14137.     APPENDIX DBASE                R-1       R
  14138.     APPENDIX DEAF                 E-1       E
  14139.     APPENDIX DESQVIEW             I-1       I
  14140.     APPENDIX DOUBLEDOS            J-1       J
  14141.     APPENDIX FORMATS              A-1       A
  14142.     APPENDIX NETBIOS              P-1       O
  14143.     APPENDIX LIT                  U-1       U
  14144.     APPENDIX MODEMS               D-1       D
  14145.     APPENDIX MULTI NODE           H-1       G
  14146.     APPENDIX MULTILINK            K-1       K
  14147.     APPENDIX PCJR                 Q-1       Q
  14148.  
  14149.                                        INDEXAPPENDIX PCNETM-1M
  14150.     APPENDIX QB PATCH             G-1       G
  14151.     APPENDIX REGISTER             B-1       B
  14152.     APPENDIX REMOTE               T-1       T
  14153.     APPENDIX SEADOG               S-1       S
  14154.     APPENDIX SUBSCRIPTION         C-1       C
  14155.  
  14156.  
  14157.     If you  need to  reference a  section of  appendix, use  the XREF  function
  14158.     instead of hard-coded numbers.
  14159.  
  14160.     If you have any questions, PLEASE give me a call!
  14161.      
  14162.     Doug Azzarito,
  14163.     Reluctant WP 5.1 expert
  14164.